Browse Source

refactor: add console logging for exceptions

develop
Apostolos Fanakis 4 years ago
parent
commit
790dc3b31e
  1. 54
      packages/concordia-shared/src/logging/node/winstonLogUtils.js

54
packages/concordia-shared/src/logging/node/winstonLogUtils.js

@ -1,29 +1,30 @@
const path = require('path'); const path = require('path');
const getLogger = (winston, logsDirectory, serviceName) => { const getLogger = (winston, logsDirectory, serviceName) => {
const logger = winston.createLogger({ const transports = [
level: process.env.NODE_ENV === 'production' ? 'info' : 'silly', new winston.transports.File({
format: winston.format.combine( filename: path.join(logsDirectory, 'error.log'),
winston.format.timestamp(), level: 'error',
winston.format.json(), }),
), new winston.transports.File({
defaultMeta: { service: serviceName }, filename: path.join(logsDirectory, 'combined.log'),
transports: [ }),
new winston.transports.File({ ];
filename: path.join(logsDirectory, 'error.log'),
level: 'error', const exceptionHandlers = [
}), new winston.transports.File({ filename: path.join(logsDirectory, 'exceptions.log') }),
new winston.transports.File({ ];
filename: path.join(logsDirectory, 'combined.log'),
}),
],
exceptionHandlers: [
new winston.transports.File({ filename: path.join(logsDirectory, 'exceptions.log') }),
],
});
if (process.env.NODE_ENV !== 'production') { if (process.env.NODE_ENV !== 'production') {
logger.add(new winston.transports.Console({ transports.push(new winston.transports.Console({
format: winston.format.combine(
winston.format.colorize(),
winston.format.timestamp(),
winston.format.simple(),
),
}));
exceptionHandlers.push(new winston.transports.Console({
format: winston.format.combine( format: winston.format.combine(
winston.format.colorize(), winston.format.colorize(),
winston.format.timestamp(), winston.format.timestamp(),
@ -32,7 +33,16 @@ const getLogger = (winston, logsDirectory, serviceName) => {
})); }));
} }
return logger; return winston.createLogger({
level: process.env.NODE_ENV === 'production' ? 'info' : 'silly',
format: winston.format.combine(
winston.format.timestamp(),
winston.format.json(),
),
defaultMeta: { service: serviceName },
transports,
exceptionHandlers,
});
}; };
module.exports = getLogger; module.exports = getLogger;

Loading…
Cancel
Save