Step-by-step guide
-
配置mavn依赖(要兼容以前的版本需要添加额外桥接器)
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.7</version>
</dependency> -
配置log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="off">
<Properties>
<Property name="logDataDir">${deploy.dir}/logData</Property>
<Property name="unite">unite</Property>
<Property name="root">root</Property>
</Properties>
<appenders><!--控制台输出-->
<Console name="console" target="SYSTEM_OUT">
<PatternLayout>
<Pattern>%d{yyyy-MM-dd HH:mm:ss} %level %l %t [%msg]%n</Pattern>
</PatternLayout>
</Console>
<RollingRandomAccessFile name="uniteAppender" fileName="${logDataDir}/${unite}.txt"
filePattern="${logDataDir}/${unite}.%d{yyyy-MM-dd}.%i.bk.txt">
<PatternLayout>
<Pattern>%msg%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />//按时间切分
<SizeBasedTriggeringPolicy size="512 MB"/>//按大小切分
</Policies>
<DefaultRolloverStrategy>
<Delete basePath="${logDataDir}" maxDepth="1">
<IfFileName glob="${common}.*.bk.txt" /> //glob模式匹配
<IfLastModified age="7d" /> //删除七天前日志
</Delete>
</DefaultRolloverStrategy>
</RollingRandomAccessFile>
</appenders>
<loggers>
<Logger level="info" name="uniteLogger" additivity="false">
<appender-ref ref="uniteAppender" />
</Logger>
<root level="info">
<appender-ref ref="console" />
</root>
</loggers>
</configuration> - 使用
private Logger logger = LogManager.getLogger(DataReceiveController.class);