logger
A logging library for Node.js.
Usage
基本用法
const logger = require('rune-logger')('test');
logger.info('hello');
全部配置
- name 名称
- level console 日志等级
- baseLevel 全部日志等级
- dailyLevel 文件日志等级
- datePattern 日志文件日期格式,默认'YYYY-MM-DD'
- timePattern 日期格式,默认'YYYY-MM-DD hh:mm:ss.SSS'
- baseDir 日志文件夹,默认与 logger 上层目录同级
- filename 文件名 默认由 name 决定
- zippedArchive 是否压缩日志文件,默认 false
- dirname 日志保存路径,默认与 node_modules 同级
- stream 日志流,默认 null
- maxSize 日志文件最大大小,如'20m', '100k', 默认 null
- maxFiles 日志保存天数,默认为 30 天(30d)
- rotate 是否保存日志文件,默认 true
- console 是否打印到 terminal,默认 true
const logger = require('.')({
name: 'test',
json: true,
level: 'INFO',
dirname: './log',
});
logger.info('aloha');
Formats
可使用util.format
支持的格式化选项.
const logger = require('.')((name: 'test'), (baseDir: 'log'));
logger.info('number is %d', 1);
logger.info('data is %j', {msg: 'hello'});
ENV
可以通过 process.env 调整如下选项
- name: 'LOGGER'
- baseLevel: 'LOG_BASE_LEVEL'
- timePattern: 'LOG_TIME'
- console: 'CONSOLE'
- level: 'LOG_LEVEL'
- rotate: 'ROTATE'
- dailyLevel: 'LOG_DAILY_LEVEL'
- datePattern: 'LOG_DATE'
- zippedArchive: 'LOG_ZIP'
- dirname: 'LOG_DIR'
- maxSize: 'LOG_MAX_SIZE'
- maxFiles: 'LOG_MAX_FILES'
例如LOG_LEVEL=DEBUG node test.js
可以使得运行时的日志等级变为 DEBUG。
.logrc
可以在和项目根目录(node_modules 同级)下创建.logrc 文件,进行设置。 配置优先级比 process.env 低