2016-08-20 05:08:46 +08:00
|
|
|
import { Meteor } from 'meteor/meteor';
|
|
|
|
import Winston from 'winston';
|
|
|
|
|
2017-06-03 03:25:02 +08:00
|
|
|
const Logger = new Winston.Logger();
|
2016-08-20 05:08:46 +08:00
|
|
|
|
2016-12-01 00:29:13 +08:00
|
|
|
Logger.configure({
|
2018-01-08 08:25:56 +08:00
|
|
|
levels: {
|
|
|
|
error: 0, warn: 1, info: 2, verbose: 3, debug: 4,
|
|
|
|
},
|
2016-12-01 00:29:13 +08:00
|
|
|
colors: {
|
|
|
|
error: 'red',
|
|
|
|
warn: 'yellow',
|
|
|
|
info: 'green',
|
|
|
|
verbose: 'cyan',
|
|
|
|
debug: 'magenta',
|
|
|
|
},
|
|
|
|
});
|
|
|
|
|
2016-08-24 05:35:28 +08:00
|
|
|
// Write logs to console
|
|
|
|
Logger.add(Winston.transports.Console, {
|
2016-10-18 20:03:51 +08:00
|
|
|
prettyPrint: false,
|
2016-09-27 04:29:44 +08:00
|
|
|
humanReadableUnhandledException: true,
|
|
|
|
colorize: true,
|
2016-10-18 20:03:51 +08:00
|
|
|
handleExceptions: true,
|
2016-08-24 05:35:28 +08:00
|
|
|
});
|
|
|
|
|
2016-08-20 05:08:46 +08:00
|
|
|
Meteor.startup(() => {
|
2018-01-08 08:24:05 +08:00
|
|
|
const LOG_CONFIG = Meteor.settings.private.log || {};
|
2018-01-08 08:25:56 +08:00
|
|
|
let { filename } = LOG_CONFIG;
|
2016-08-20 05:08:46 +08:00
|
|
|
|
2016-12-02 00:15:57 +08:00
|
|
|
// Set Logger message level priority for the console
|
|
|
|
Logger.transports.console.level = LOG_CONFIG.level;
|
|
|
|
|
2016-08-20 05:08:46 +08:00
|
|
|
// Determine file to write logs to
|
2016-08-24 05:35:28 +08:00
|
|
|
if (filename) {
|
2018-01-08 08:24:05 +08:00
|
|
|
if (Meteor.isDevelopment) {
|
2016-08-24 05:35:28 +08:00
|
|
|
const path = Npm.require('path');
|
|
|
|
filename = path.join(process.env.PWD, filename);
|
2016-08-20 05:08:46 +08:00
|
|
|
}
|
|
|
|
|
2016-08-24 05:35:28 +08:00
|
|
|
Logger.add(Winston.transports.File, {
|
2017-06-03 03:25:02 +08:00
|
|
|
filename,
|
2016-09-27 04:29:44 +08:00
|
|
|
prettyPrint: true,
|
2016-08-24 05:35:28 +08:00
|
|
|
});
|
|
|
|
}
|
2016-05-05 01:00:57 +08:00
|
|
|
});
|
2016-08-20 05:08:46 +08:00
|
|
|
|
|
|
|
export default Logger;
|
|
|
|
|
2017-06-03 03:25:02 +08:00
|
|
|
export const logger = Logger;
|