博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
log4js日志配置问题
阅读量:6116 次
发布时间:2019-06-21

本文共 1286 字,大约阅读时间需要 4 分钟。

 

在做项目中,我们的node日志采用的是log4js框架,使用文件方式存储,但在后面的需求中增加了一项,需要将node日志服务接入ELK(Elasticsearch+logstash+kibana),运维需要匹配node 的日志文件。在这个过程中,熟悉了一下log4js的配置问题。

type:file 会以文件方式存储,可以配合maxLogSize,backups,按照文件大小进行分割,如果文件log-2018-1-23.log超过maxLogSize设置的大小,则会将文件备份成log-2018-1-23.log.1,然后再创建log-2018-1-23.log,重新再写。而backups则用于设置分割的文件个数,最多滚动几个文件。

1.1 filename配置
a.filename是一个目录加上文件名,路径就是日志文件存储的路径.
b.此路径可以是相对路径也可以绝对路径,当是相对路径时,是相对于工程根目录.
c.无论是相对路径还是绝对路径,路径过程中的所有文件夹必须事先手动创建好,log4js不会自动创建,如路径不存在则会报错.
d.最后的文件名就是输出文件的名字模版,真实的名字会一定的修改,
d1:type:datefile 时会加上时间标签,如 [log-2015-01-24 , log-2015-01-25]
d2:type:file时 如果文件过大,份文件后会增加一个编号标签. [log.1 log.2 log.3 ...]
1.2 maxLogSize配置
这个只在type:file模式有效.表示文件多大时才会创建下一个文件,单位是字节.实际设置时具体的值根据业务来定,但是不推荐大于100Mb.

log4js.configure({appenders: [{type: 'console'},{type: 'file', //file就是采用文件格式存储filename: logFileName.replace(/\\/g, '/'),maxLogSize: MAXLOGSIZE,backups: 4,category: loggerName}],replaceConsole: false});

 

按照日期生成文件:

        下面这个生成的文件名就是date-2015-01-24-14:24:12.log

        pattern精确到ss(秒)就是一秒一个文件,精确到mm(分)就是一分一个文件,一次类推:hh(小时),dd(天),MM(月),yyyy(年),yy(年后两位),注意大小写!

{      "category":"log_date",      "type": "dateFile",      "filename": "./logs/log_date/date",      "alwaysIncludePattern": true,      "pattern": "-yyyy-MM-dd-hh:mm:ss.log"  }

 

转载于:https://www.cnblogs.com/lydialee/p/8336662.html

你可能感兴趣的文章
10、程序员和编译器之间的关系
查看>>
前端学习之正则表达式
查看>>
配置 RAILS FOR JRUBY1.7.4
查看>>
AndroidStudio中导入SlidingMenu报错解决方案
查看>>
修改GRUB2背景图片
查看>>
Ajax异步
查看>>
好记性不如烂笔杆-android学习笔记<十六> switcher和gallery
查看>>
JAVA GC
查看>>
codeforce 599B Spongebob and Joke
查看>>
3springboot:springboot配置文件(外部配置加载顺序、自动配置原理,@Conditional)
查看>>
9、Dubbo-配置(4)
查看>>
前端第七天
查看>>
BZOJ 2190[SDOI2008]仪仗队
查看>>
图解SSH原理及两种登录方法
查看>>
[转载] 七龙珠第一部——第058话 魔境圣地
查看>>
【总结整理】JQuery基础学习---样式篇
查看>>
查询个人站点的文章、分类和标签查询
查看>>
基础知识:数字、字符串、列表 的类型及内置方法
查看>>
JSP的隐式对象
查看>>
P127、面试题20:顺时针打印矩阵
查看>>