easy-logger-node
v1.2.2
Published
a server side common logger module by log4js
Downloads
2
Readme
easy-logger-node
node.js端的通用日志组件,基于log4js封装,提供默认、通用的日志输出配置,使用简单,上手方便。。
使用方法
安装
npm i easy-logger-node -S
使用
const {getLogger, configure} = require('easy-logger-node');
//对日志路径和格式及输出等级进行配置。使用前,必须先调用configure方法,可以不传任何参数,这样会使用默认配置
configure({
logDir: '/opt/logs/koala'
});
const {trace, debug, info, warn, error, fatal} = getLogger('app/entry');
debug('hello world');
//[49040][2018-02-28T14:29:31.489+0800][DEBUG ] [app/entry] hello world
配置
logDir
: linux日志文件输出路径,linux机器默认路径为/opt/logs/nodejs
winlogDir
: windows开发机器(根据操作系统是否为windows来判断)默认日志路径,默认为node_modules同级目录,可以指定相对路径和绝对路径来覆盖默认的日志路径。- 相对路径相对于node_modules目录。比如
./logs/
为node_modules目录 - 绝对路径。根据path.isAbsolute来判断是否为绝对路径
- 相对路径相对于node_modules目录。比如
pattern
: 日志的格式,为log4js的默认参数。参见log4js文档。默认为:[%z][%d{ISO8601_WITH_TZ_OFFSET}][%-5p] %m
logLevel: 日志输出等级。支持字符串和数组
- 字符串:可以为
TRACE
,DEBUG
,INFO
,WARN
,ERROR
,FATAL
中的任意一个。一旦指定则不区分环境,统一使用该日志级别 - 数组:必须包含至少二个元素,最多四个元素。分别对应生产、测试、联调、开发本地四个环境的日志输出等级。当数组元素小于4个时,代表最后面的环境使用数组最后一个日志等级。默认值为:
['INFO'/*生产环境*/, 'DEBUG' /*非生产环境*/]
- 字符串:可以为
envs: [即将废弃,不建议使用] 环境的标识名。默认为
['pub', 'qa', 'profile', 'dev']
。pm2: pm2的相关配置,支持instanceId属性,与pm2.json的配置对应
特性
trace、debug、info、warn四个方法的日志会默认输出到access.log中。error、fatal会输出到error.log中
默认日志规范
- 访问日志:/opt/logs/serviceId/access.log
- 错误日志:/opt/logs/serviceId/monitor/error.log
changelog
v1.2.0
- 支持四种环境:pub、qa、profile、dev分别设置日志等级
- unix操作系统下,dev环境的日志输出路径设置为项目的根目录,其他环境使用logDir
- 重构代码,符合ESLINT规范
- 废弃envs配置属性