log4j2的配置

  • 格式:docx
  • 大小:19.88 KB
  • 文档页数:8

log4j2的配置

log4j2的配置

• log4j2.xml配置代码

• 解释及问题

o 一.结果说明

o 二.配置说明

o

▪ Filter

▪ 1、ThresholdFilter

▪ 2、RegexFilter

▪ 3、TimeFilter

o 三.踩过的坑

o

▪ 1、ThresholdFilter ERROR 错误

▪ 2、依赖问题

▪ 3、Spring5.x的集成

log4j2.xml配置代码

fileName="logs/info.log"

filePattern="logs/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log">

onMismatch="ACCEPT"/>

fileName="logs/warn.log"

filePattern="logs/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log">

onMismatch="NEUTRAL"/>

fileName="logs/error.log"

filePattern="logs/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log">

onMismatch="DENY"/>

level="INFO">

解释及问题

这里我踩了不少的坑,网上的资料五花八门很乱,复制粘贴的居多。

首先配置中注释的我就不解释了

一.结果说明

上面的配置最终结果

info.log

只会记录info信息

warn.log

记录info/warn的信息(单独记录warn我没调出来,我对参数已经了解,后面介绍,怀疑是源码设置问题)

error.log

只会记录error信息

二.配置说明

Filters决定日志事件能否被输出。

onMatch

onMismatch

onMatch:表示匹配该级别及以上(>=)

onMismatch:表示匹配该级别以下 (<)

过滤条件有三个值(onMatch、onMismatch属性的值):

ACCEPT(接受)

DENY(拒绝)

NEUTRAL(中立/流传)

如:

level=“warn” onMatch=“DENY”

onMismatch=“ACCEPT”

含义:大于warn级别的拒绝,小于warn级别的接受

Filter

1、ThresholdFilter

控制级别的Filter

只输出info

onMismatch="ACCEPT"/>

只输出error级别以上的日志

onMismatch="DENY"/>

2、RegexFilter

onMismatch="DENY"/>

3、TimeFilter

时间过滤器可用于将过滤器限制为仅当天的某个部分。

onMatch="ACCEPT" onMismatch="DENY" />

三.踩过的坑

1、ThresholdFilter ERROR 错误

如果是如下配置,我本来想的是每个级别只有自己的日志

但是我设置warn的时候出问题了,配置如下:

onMismatch="NEUTRAL"/>

onMismatch="DENY"/>