当前位置: 首页 > 后端技术 > Java

api-log4j2配置

时间:2023-04-01 15:15:34 Java

log4j2.xmllog4j2.x版本不再支持1.x中.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为“.xml”,“.json”或“.jsn”。配置文件格式:log2j配置文件可以是xml或json格式。配置文件的位置:默认情况下,log4j2会在classpath目录下查找名称为log4j2.xml、log4j.json、log4j.jsn等文件。系统选择配置文件的优先级(从前到后)如下:(1).classpath下名为log4j2-test.json或log4j2-test.jsn的文件。(2).classpath下的名为log4j2-test的.xml文件。(3).classpath下名为log4j2.json或log4j2.jsn的文件。(4).classpath下名为log4j2.xml的文件。一般默认使用log4j2.xml来命名。配置文件节点(1)。根节点Configuration有两个属性status和monitorinterval,还有两个子节点Appenders和Loggers(表示可以定义多个Appenders和Loggers)。status:指定log4j本身的日志级别。monitorinterval:指定log4j自动重配置的监控时间间隔,单位s,最小5s。(2).Appenders节点,共有三个常用的子节点:Console、RollingFile、File。Console节点用于定义输出到控制台的Appender。name:指定Appender的名称。target:SYSTEM_OUT或SYSTEM_ERR,一般只设置默认:SYSTEM_OUT。PatternLayout:输出格式,如果不设置,默认为:%m%n。File节点用于定义将文件输出到指定位置的Appender。name:指定Appender的名称。fileName:指定输出日志目标文件的完整路径的文件名。PatternLayout:输出格式,如果不设置,默认为:%m%n。RollingFile节点用于定义当指定大小超过指定大小时自动删除旧的并创建新的appender。name:指定Appender的名称。fileName:指定输出日志目标文件的完整路径的文件名。PatternLayout:输出格式,如果不设置,默认为:%m%n。filePattern:指定新日志文件的名称格式。Policies:指定滚动日志的策略,即何时创建新的日志文件输出日志。TimeBasedTriggeringPolicy:Policies子节点,基于时间的滚动策略,interval属性用于指定滚动的频率,默认为1小时。modulate=true用于调整时间:比如现在是凌晨3点,间隔为4,那么第一次滚动是在凌晨4点,然后是8点,12点……不是7点。SizeBasedTriggeringPolicy:Policies子节点,基于指定文件大小的滚动策略,size属性用于定义每个日志文件的大小。DefaultRolloverStrategy:用于指定同一文件夹中日志文件的最大数量,删除最旧的并创建新的(通过max属性)。ThresholdFilter属性:onMatch表示匹配后设置的日志级别是DENY还是ACCEPT,onMismatch表示设置的日志级别不匹配DENY、ACCEPT、NEUTRAL。(3).Loggers节点,有两种常见类型:Root和Logger。Root节点用于指定项目的根日志。如果不单独指定Logger,默认使用Root日志输出level:日志输出级别,共8个级别,从低到高:All