git repository
cw logger sample
cd samplenode test.js
How to use
Install
To install via npm
npm install cw-logger --save
Using
const config = logRoot: // 日志根目录(需根据实际情况设置) logLevel: 'info' // file logLevel4console: 'error' // console bunyan: // 级别分别是: TRACE DEBUG INFO WARN ERROR FATAL categorys: name: 'console' type: 'console' logLevel4console: 'error' pretty: true // 格式化console输出日志, 方便查看 src: true // 开启代码行定位 name: 'app' // 模块/分类 type: 'rotatingFile' pretty: true // 格式化console输出日志, 方便查看 src: false // logLevel: 'info', // logLevel4console: 'error', rotateConfig: period: '1d' // The period at which to rotate. threshold: '10m' // Rotate log files larger than 10 megabytes totalFiles: 10 //The maximum number of rotated files to keep. 0 to keep files regardless of how many there are. name: 'login' // 模块/分类 type: 'rotatingFile' pretty: true // 格式化console输出日志, 方便查看 // logLevel: 'info', // logLevel4console: 'error', rotateConfig: period: '1d' // The period at which to rotate. threshold: '10m' // Rotate log files larger than 10 megabytes totalFiles: 0 //The maximum number of rotated files to keep. 0 to keep files regardless of how many there are. ;const log = config;const myConsoleLogger = logconsole;const loginLogger = loglogin;const appLogger = logapp; myConsoleLogger;loginLogger;appLogger; myConsoleLogger;loginLogger;appLogger;
elk logstash suport
在测试环境配置logstash, 启用logstash收集日志 enableLogstash4console: true; 查看日志的地址elk
const name = 'cw-api-gateway'; // 根据实际情况可定义为项目名称const config = logRoot: // 日志根目录(需根据实际情况设置) logLevel: 'info' // file logLevel4console: 'error' // console bunyan: // 级别分别是: TRACE DEBUG INFO WARN ERROR FATAL categorys: name: 'console' type: 'console' logLevel4console: 'error' pretty: true // 格式化console输出日志, 方便查看 src: true name: 'app' // 模块/分类 type: 'rotatingFile' pretty: true // 格式化console输出日志, 方便查看 src: false // logLevel: 'info', // logLevel4console: 'error', rotateConfig: period: '1d' // The period at which to rotate. threshold: '10m' // Rotate log files larger than 10 megabytes totalFiles: 10 //The maximum number of rotated files to keep. 0 to keep files regardless of how many there are. name: 'login' // 模块/分类 type: 'rotatingFile' pretty: true // 格式化console输出日志, 方便查看 // logLevel: 'info', // logLevel4console: 'error', rotateConfig: period: '1d' // The period at which to rotate. threshold: '10m' // Rotate log files larger than 10 megabytes totalFiles: 0 //The maximum number of rotated files to keep. 0 to keep files regardless of how many there are. enableLogstash4console: true // 使用elk收集日志, 依赖enableBunyan currentLogstashInput: 'tcp' // tcp数据包(相比udp, 大小默认无限制) logstash: type: name + processenvSITE_DOMAIN ? `-` : '' udp: host: '192.168.2.155' port: 64100 type: name + processenvSITE_DOMAIN ? `-` : '' tcp: host: '192.168.2.155' port: 64756 type: name + processenvSITE_DOMAIN ? `-` : ''
stdout suport pretty format
// 不保证性能, 建议只在开发环境开启pretty, 在生产环境关闭(或者设置logLevel4console为error以上)// 设置pretty pretty: true // 格式化console输出日志, 方便查看
License
MIT.