@moonset/util
Version:
30 lines (27 loc) • 855 B
text/typescript
const winston = require('winston');
export const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
defaultMeta: {service: 'user-service'},
transports: [
//
// - Write all logs with level `error` and below to `error.log`
// - Write all logs with level `info` and below to `combined.log`
//
new winston.transports.File({
filename: './build/log/error.log',
level: 'error',
}),
new winston.transports.File({filename: './build/log/combined.log'}),
],
});
//
// If we're not in production then log to the `console` with the format:
// `${info.level}: ${info.message} JSON.stringify({ ...rest }) `
//
if (process.env.NODE_ENV !== 'production') {
logger.add(new winston.transports.Console({
level: process.env.LOG_LEVEL || 'info',
format: winston.format.simple(),
}));
}