log4js 日志模块

前言

写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地址

发布了33 篇原创文章 · 获赞 2 · 访问量 2028

猜你喜欢

转载自blog.csdn.net/wwwmewww/article/details/77844799
今日推荐