1. 导入JAR
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.4.1</version>
</dependency>
2.Java使用
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
....
private static Logger logger = LogManager.getLogger(XXXX.class);
3.配置log4j2.xml
<configuration status="OFF" monitorInterval="60">
<Properties>
<property name="LOG_HOME">/wls/applog/financeAccount</property>
<property name="log_pattern">[financeAccount-log4j2] %-d{yyyy-MM-dd HH:mm:ss} [%-5p] %t (%c{1}:%L) %m%n</property>
<property name="log_filename">${LOG_HOME}/financeAccount.log</property>
<property name="rolling_file_name">${LOG_HOME}/financeAccount-%d{yyyy-MM-dd}-%i.log</property>
<property name="output_log_level">info</property>
</Properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY" />
<PatternLayout pattern="${log_pattern}" />
</Console>
<RollingRandomAccessFile name="RollingFile" fileName="${log_filename}" filePattern="${rolling_file_name}">
<PatternLayout pattern="${log_pattern}" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="250 MB"/>
</Policies>
<Filters>
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY" />
</Filters>
<!-- 如果不配置此参数,默认每天只产生7个文件,会导致日志覆盖 -->
<DefaultRolloverStrategy max="100" />
</RollingRandomAccessFile>
</Appenders>
<loggers>
<root level="${output_log_level}" includeLocation="true">
<appender-ref ref="Console" />
<appender-ref ref="RollingFile" />
</root>
</loggers>
</configuration>
http://logging.apache.org/log4j/2.x/manual/appenders.html