dl
Version:
DreamLab Libs
59 lines (45 loc) • 1.28 kB
JavaScript
var core = require('core');
var fs = require('fs');
var YAML = core.yaml.YAML;
var Logger = require('./Logger.js').Logger;
var DEFAULT = 'Logger.DEFAULT';
var EMPTY = 'Logger.EMPTY';
var loggers = {};
var getLogger = exports.get = function (name) {
name = name || Logger.DEFAULT;
if (!loggers.hasOwnProperty(name)) {
loggers[name] = new Logger(name);
loggers[name].setParent(loggers[DEFAULT]);
}
return loggers[name];
};
process.on('SIGUSR2', function () {
var defaultLogger = getLogger(DEFAULT);
defaultLogger.configure({
debug: !defaultLogger.debug
});
});
exports.Logger = getLogger(DEFAULT);
exports.EmptyLogger = getLogger(EMPTY).configure({
reporters: {}
});
if (process.env['PAAS_MONITORING_KEY']) {
var appYaml;
try {
if (fs.existsSync('./app.yaml')) {
appYaml = YAML.parseFileSync('./app.yaml').pop();
}
} catch (e) {
appYaml = null;
}
if (appYaml) {
getLogger(DEFAULT).configure({
metricPrefix: ['Applications', appYaml.servicename, appYaml.appname].join('.'),
reporters: {
MAAS: {
key: process.env['PAAS_MONITORING_KEY']
}
}
});
}
}