log4j functions
RollingRandomAccessFileAppender
Rolling的意思是当满足一定条件后,就重命名原日志文件用于备份,并从新生成一个新的日志文件。例如需求是每天生成一个日志文件,但是如果一天内的日志文件体积已经超过1G,就从新生成,两个条件满足一个即可。这在log4j 1.x原生功能中无法实现,在log4j2中就很简单了。
配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<!--这里的status属性是log4j2加载时详细信息的level级别,与自定义的不同-->
<Configuration status="warn" monitorInterval="300">
<properties>
<property name="LOG_HOME">D://logs</property>
<property name="FILE_NAME">roll_log</property>
</properties>
<Appenders>
<RollingRandomAccessFile name="roll_random" fileName="${LOG_HOME}/${FILE_NAME}.log" filePattern="${LOG_HOME}/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd HH-mm}-%i.log">
<PatternLayout pattern="%highlight{%d [%t] %-5level: %msg%n%throwable}{FATAL=Bright red, ERROR=red, WARN=Bright Yellow, INFO=Green, DEBUG=Cyan, TRACE=Black}" />
<Policies>
<TimeBasedTriggeringPolicy interval="1" />
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<DefaultRolloverStrategy max="20" />
</RollingRandomAccessFile>