简单总结log4j2.x的使用过程。
1、项目中引入两个jar包
log4j-core-2.0-beta9.jar
log4j-api-2.0-beta9.jar
2、指定日志配置文件位置
//指定日志的配置器文件
static{
System.setProperty("log4j.configurationFile", "./log4j2.xml");
}
3、简单的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="OFF">
<appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<!--这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
<RollingFile name="RollingFile" fileName="logs/app.log"
filePattern="log/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
<SizeBasedTriggeringPolicy size="50MB"/>
</RollingFile>
</appenders>
<loggers>
<logger name="com.klaus.tcp.synchronous.TcpSocketN" level="debug" additivity="false">
<appender-ref ref="Console"/>
<appender-ref ref="RollingFile"/>
</logger>
<root level="error">
<appender-ref ref="Console"/>
<appender-ref ref="RollingFile"/>
</root>
</loggers>
</configuration>
4、获取Logger对象后即可写日志了
log = LogManager.getLogger(TcpSocketN.class.getName());
log.error(e.getMessage());