log4js 日志模块

来源:互联网 发布:东华软件金融部 编辑:程序博客网 时间:2024/05/20 06:24

前言

写node服务,需要记录日志。日志模块要么自己写,要么用已经有的模块——log4js就是一个不错的选择


安装

npm install log4js //安装的版本是 2.3.3

使用
example

//引用log4js模块const log4js = require('log4js');//日志生成配置的设置log4js.configure({  appenders: {    cheese: {      type: 'file', //日志输出类型 dateFile      filename: 'cheese.log' //日志输入路径    }  },  //日志类型的设置  categories: {    //日志默认配置    default: {      //选择日志配置      appenders: ['cheese'],      //日志级别 all trace debug info warn error fatal mark off      //大小写均,all是输出全部,off是不输出      level: 'error'     }  }});//获取日志对象实例const logger = log4js.getLogger('cheese');//输出级别 小 level 决定 输出 从当前设定的级别 至 最大级别到日志//设置 level 为'error',则只输出error、fatal 和 mark 的日志logger.trace('Entering cheese testing');logger.debug('Got cheese.');logger.info('Cheese is Gouda.');logger.warn('Cheese is quite smelly.');logger.error('Cheese is too ripe!');logger.fatal('Cheese was breeding ground for listeria.');logger.mark('mark.');//官方例子没有,但是可以调用//输出级别 大

output

[2017-09-06 15:52:34.493] [ERROR] cheese - Cheese is too ripe![2017-09-06 15:52:34.495] [FATAL] cheese - Cheese was breeding ground for listeria.[2017-09-06 15:52:34.495] [MARK] cheese - mark.

appenders 详细说明

  • 当 type 为 “file” 时

    key 类型 说明 filename string 您要写入日志文件的路径。 maxLogSize integer (可选) - 日志文件的最大大小(以字节为单位)。如果未指定,则不会发生日志滚动。 backups integer (可选,默认值= 5) - 日志滚动期间要保留的旧日志文件的数量。 layout Object (可选,默认为基本布局) 参考下文 encoding string (默认“utf-8”) mode integer (默认0644) flags string (默认’a’) compress boolean (默认为false) - 在滚动期间压缩备份文件(备份文件将具有.gz扩展名)


  • 当 type 为 “dateFile” 时

    key 类型 说明 filename string 您要写入日志文件的路径。 pattern string (可选,默认为.yyyy-MM-dd) - 用于确定何时滚动日志的模式。参考下文 layout Object (可选,默认为基本布局) 参考下文 encoding string (默认“utf-8”) mode integer (默认0644) flags string (默认’a’) compress boolean (默认为false) - 在滚动期间压缩备份文件(备份文件将具有.gz扩展名) alwaysIncludePattern boolean (默认为false) - 将模式包含在当前日志文件的名称以及备份中。 daysToKeep integer (默认为0) - 如果此值大于零,则在日志滚动期间将删除比该天多的文件。


  • pattern 说明

    key 说明 取值 dd 两位日期 date.getDate() MM 两位月份 date.getMonth() + 1 yy 两位年份 date.getFullYear().toString().substring(2, 4) yyyy 四位年份 date.getFullYear() hh 两位小时,24小时制 date.getHours() mm 两位分钟 date.getMinutes() ss 两位秒钟 date.getSeconds() SSS 三位毫秒 date.getMilliseconds() O 时区,大写字母O,占位符输出结果为+0800 timezone offset in +hm format


  • layout说明 待整理

    key 说明 取值 dd 日期 date.getDate()

log4js的连接 npm地址 git地址 book地址

原创粉丝点击