Apache log4j
1. 首先需要从apache 下载log4j 那个jar 包 引入工程:
给出一个配置文件,log4j.xml 如何进行加载:
配置文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
threshold="all">
<appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="|%d{yyyy-MM-dd HH:mm:ss.SSS}|%5p|%5t|%l|%m%n" />
</layout>
</appender>
<appender name="SystemLogFile"
class="com.middleware.log.DailySizeRollingFileAppender">
<param name="File" value="/logs/xxxName/YYYY-MM-DD/TradeCenter.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd-HH'.log'" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="|%d{yyyy-MM-dd HH:mm:ss.SSS}|%5p|%5t|%l|%m%n" />
</layout>
</appender>
<appender name="AsyncConsoleAppender" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="100000" />
<param name="Blocking" value="false" />
<appender-ref ref="ConsoleAppender" />
</appender>
<appender name="AsyncSystemLogFile" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="8192" />
<param name="Blocking" value="false" />
<appender-ref ref="SystemLogFile" />
</appender>
<logger name="system" additivity="false">
<level class="org.apache.log4j.Level" value="INFO" />
<appender-ref ref="AsyncSystemLogFile" />
</logger>
<logger name="dao" additivity="false">
<level class="org.apache.log4j.Level" value="INFO" />
<appender-ref ref="AsyncSystemLogFile" />
</logger>
<logger name="console" additivity="false">
<level class="org.apache.log4j.Level" value="INFO" />
<appender-ref ref="AsyncSystemLogFile" />
</logger>
<root>
<priority value="INFO" />
<appender-ref ref="AsyncSystemLogFile" />
</root>
</log4j:configuration>
log4j默认加载类路径下的log4j.properties文件,如果自定义其他名称的properties文件的时候,就需要使用
DOMConfigurator.configure("E:/study/log4j/log4j.xml");//加载.xml文件
PropertyConfigurator.configure("E:/study/log4j/log4j.properties");//加载.properties文件来加载配置文件
String log4jConfigFile = configPath + File.separatorChar + LOG_CONFIG_FILE;
DOMConfigurator.configure(log4jConfigFile);
Logger logger = Logger.getLogger(name);
其中name 是配置文件中配置的, 例如给出的配置文件中 name 可以 system, dao ,console
再其中:
com.middleware.log.DailySizeRollingFileAppender
这个类是自己定义,可以控制日志 按时间切换,按天,还是按小时,按周切换等等
log4j 使用:
logger.info
loggger.error
logger.warn