cw logger sample
cd sample
node test.js
How to use
Install
To install via npm
npm install cw-logger --save
Using
const config = {
logRoot: require('path').resolve(__dirname, './logs'),
logLevel: 'info',
logLevel4console: 'error',
bunyan: {
categorys: [{
name: 'console',
type: 'console',
logLevel4console: 'error',
pretty: true
},{
name: 'app',
type: 'rotatingFile',
pretty: true,
rotateConfig: {
period: '1d',
threshold: '10m',
totalFiles: 10
}
},{
name: 'login',
type: 'rotatingFile',
pretty: true,
rotateConfig: {
period: '1d',
threshold: '10m',
totalFiles: 0
}
}
]
}
};
const log = require('cw-logger')(config);
const myConsoleLogger = log.console;
const loginLogger = log.login;
const appLogger = log.app;
myConsoleLogger.info('info');
loginLogger.info('info');
appLogger.info('info');
myConsoleLogger.error(new Error('error myConsoleLogger'));
loginLogger.error(new Error('error loginLogger'));
appLogger.error(new Error('error appLogger'));
elk logstash suport
在测试环境配置logstash, 启用logstash收集日志 enableLogstash4console: true; 所有日志统一收集到e; 查看日志的地址http://elk.internal.jiaofucloud.cn
const name = 'cw-api-gateway';
const config = {
logRoot: require('path').resolve(__dirname, './logs'),
logLevel: 'info',
logLevel4console: 'error',
bunyan: {
categorys: [{
name: 'console',
type: 'console',
logLevel4console: 'error',
pretty: true
},{
name: 'app',
type: 'rotatingFile',
pretty: true,
rotateConfig: {
period: '1d',
threshold: '10m',
totalFiles: 10
}
},{
name: 'login',
type: 'rotatingFile',
pretty: true,
rotateConfig: {
period: '1d',
threshold: '10m',
totalFiles: 0
}
}
]
},
enableLogstash4console: true,
currentLogstashInput: 'tcp',
logstash: {
type: name + (process.env.SITE_DOMAIN ? `-${process.env.SITE_DOMAIN}` : ''),
udp: {
host: '192.168.2.155',
port: 64100,
type: name + (process.env.SITE_DOMAIN ? `-${process.env.SITE_DOMAIN}` : '')
},
tcp: {
host: '192.168.2.155',
port: 64756,
type: name + (process.env.SITE_DOMAIN ? `-${process.env.SITE_DOMAIN}` : '')
}
},
}
stdout suport pretty format
{
pretty: true
}