1.0.1 • Published 5 years ago
@itemsjs/logger v1.0.1
ItemsJS logger
Wrapper for logging services
Installation
npm i @itemsjs/logger --save
Usage
const WinstonLogger = require('@itemsjs/logger').Winston;
// transport options in each section exactly is passed to transport constructor
// Factory is a promise so you can use it as a promise too.
const logger = await WinstonLogger.create({
console: {
enabled: !env.isProd,
transportOptions: {
level: 'debug',
handleExceptions: true,
stderrLevels: ['error'],
consoleWarnLevels: ['error', 'warn']
}
},
file: {
enabled: true,
transportOptions: {
level: 'info',
handleExceptions: true,
frequency: '24h',
datePattern: 'YYYY-MM-DD',
filename: `${helpers.appName}_%DATE%.log`,
dirname: 'logs',
maxSize: '10m',
zippedArchive: env.isProd,
maxFiles: '90d'
}
},
syslog: {
enabled: env.isProd,
transportOptions: {
level: 'info',
handleExceptions: true,
protocol: 'udp4',
app_name: `${helpers.appName}`,
localhost: os.hostname()
}
}
});
// start logging
logger.info('Any message you want to log', metadata);
And you're good to go!
License
MIT