限制Log4j2日志最大输出长度
Posted 走路自带音响
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了限制Log4j2日志最大输出长度相关的知识,希望对你有一定的参考价值。
需求由来
昨晚会议,领导提出我们系统的日志刷的太多,给日志的定位造成了极大的困扰,而且一般来说那种很大很大一坨的日志都是不重要的日志,我们不能指望开发时刻意不去打印这些日志,所以只能从日志框架入手解决问题。
参考文档
https://logging.apache.org/log4j/2.x/manual/layouts.html
具体实现
在layout中配置 %maxLen{%m}{1500}%n
即可。
Configuration:
status: warn
monitorInterval: 300
properties:
property:
- name: pattern
value: "[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%logger{36}.%t:%L] <%X{uuid}> - %maxLen{%m}{1500}%n"
- name: path
value: /home/ubuntu/data/server/logs
Appenders:
RollingFile:
- name: AllFile
fileName: ${path}/all.log
filePattern: "${path}/archive/$${date:yyyy-MM}/all-%d{yyyy-MM-dd}-%i.log.gz"
PatternLayout:
pattern: ${pattern}
Filters:
ThresholdFilter:
- level: fatal
onMatch: DENY
onMismatch: NEUTRAL
- level: debug
onMatch: ACCEPT
onMismatch: DENY
Policies:
TimeBasedTriggeringPolicy:
interval: 1
SizeBasedTriggeringPolicy:
size: "500 MB"
- name: ErrorFile
fileName: ${path}/error.log
filePattern: "${path}/archive/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz"
PatternLayout:
pattern: ${pattern}
Filters:
ThresholdFilter:
- level: fatal
onMatch: DENY
onMismatch: NEUTRAL
- level: error
onMatch: ACCEPT
onMismatch: DENY
Policies:
TimeBasedTriggeringPolicy:
interval: 1
SizeBasedTriggeringPolicy:
size: "500 MB"
Loggers:
Logger:
name: com.kangyonggan.server.mapper
level: debug
additivity: false
AppenderRef:
- ref: AllFile
- ref: ErrorFile
Root:
level: info
additivity: true
AppenderRef:
- ref: AllFile
- ref: ErrorFile
效果
声明原创需要300字以上,我上面的这些不够300个字吗?它是没有把代码也算进去吧!链接不算字数,代码不算字数,图片url不算字数,对于篇幅较小的文章想声明原创有点困难啊,我啰嗦了这么多应该够300字了吧,不够的话我还可以再啰嗦啰嗦的。
以上是关于限制Log4j2日志最大输出长度的主要内容,如果未能解决你的问题,请参考以下文章