1.常用Appender
2.常用Layout
3.PatternLayout常用配置属性
4.examples
4.1 log4j.properties文件
log4j.rootLogger=debug,appender1,appender2
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.appender1.layout.ConversionPattern=%d [%-5p] [%t] %-17c{2} (%13F:%L)-%m%n
log4j.appender.appender2=org.apache.log4j.FileAppender
log4j.appender.appender2.File=C://demonlog4j.log
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.appender2.layout.ConversionPattern=%d [%-5p] [%t] %-17c{2} (%13F:%L)-%m%n
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.appender1.layout.ConversionPattern=%d [%-5p] [%t] %-17c{2} (%13F:%L)-%m%n
log4j.appender.appender2=org.apache.log4j.FileAppender
log4j.appender.appender2.File=C://demonlog4j.log
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.appender2.layout.ConversionPattern=%d [%-5p] [%t] %-17c{2} (%13F:%L)-%m%n
4.2 log4j.xml
<?xml version="1.0" encoding="GB2312" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<!--#log4j中有5级logger ,#FATAL 0 ,#ERROR 3 ,#WARN 4 ,#INFO 6 ,#DEBUG 7 -->
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="LOG.Console"
class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" />
</layout>
</appender>
<appender name="LOG.DEBUG"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logs/radarnet_debug.log" />
<param name="Append" value="true" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="DEBUG" />
</filter>
</appender>
<appender name="LOG.INFO"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logs/radarnet_info.log" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="INFO" />
</filter>
</appender>
<appender name="LOG.WARN"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logs/radarnet_warn.log" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="WARN" />
<param name="LevelMax" value="WARN" />
</filter>
</appender>
<appender name="LOG.ERROR"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logs/radarnet_error.log" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="ERROR" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
<appender name="LOG.FATAL"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logs/radarnet_fatal.log" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="FATAL" />
<param name="LevelMax" value="FATAL" />
</filter>
</appender>
<logger name="com.google.code" additivity="false">
<level value="DEBUG" />
</logger>
<logger name="org.apache.activemq.ActiveMQMessageConsumer" additivity="false">
<level value="DEBUG" />
</logger>
<logger name="com.suncreate.system.db.connection" additivity="false">
<level value="INFO" />
</logger>
<logger name="org.apache.activemq.transport.AbstractInactivityMonitor" additivity="false">
<level value="DEBUG" />
</logger>
<logger name="net.rubyeye.xmemcached" additivity="false">
<level value="DEBUG" />
</logger>
<logger name="httpclient.wire" additivity="false">
<level value="DEBUG" />
</logger>
<logger name="org.apache.commons.httpclient" additivity="false">
<level value="DEBUG" />
</logger>
<root>
<priority value="DEBUG" />
<appender-ref ref="LOG.Console" />
<appender-ref ref="LOG.DEBUG" />
<appender-ref ref="LOG.INFO" />
<appender-ref ref="LOG.WARN" />
<appender-ref ref="LOG.ERROR" />
<appender-ref ref="LOG.FATAL" />
</root>
</log4j:configuration>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<!--#log4j中有5级logger ,#FATAL 0 ,#ERROR 3 ,#WARN 4 ,#INFO 6 ,#DEBUG 7 -->
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="LOG.Console"
class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" />
</layout>
</appender>
<appender name="LOG.DEBUG"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logs/radarnet_debug.log" />
<param name="Append" value="true" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="DEBUG" />
</filter>
</appender>
<appender name="LOG.INFO"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logs/radarnet_info.log" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="INFO" />
</filter>
</appender>
<appender name="LOG.WARN"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logs/radarnet_warn.log" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="WARN" />
<param name="LevelMax" value="WARN" />
</filter>
</appender>
<appender name="LOG.ERROR"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logs/radarnet_error.log" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="ERROR" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
<appender name="LOG.FATAL"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logs/radarnet_fatal.log" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="FATAL" />
<param name="LevelMax" value="FATAL" />
</filter>
</appender>
<logger name="com.google.code" additivity="false">
<level value="DEBUG" />
</logger>
<logger name="org.apache.activemq.ActiveMQMessageConsumer" additivity="false">
<level value="DEBUG" />
</logger>
<logger name="com.suncreate.system.db.connection" additivity="false">
<level value="INFO" />
</logger>
<logger name="org.apache.activemq.transport.AbstractInactivityMonitor" additivity="false">
<level value="DEBUG" />
</logger>
<logger name="net.rubyeye.xmemcached" additivity="false">
<level value="DEBUG" />
</logger>
<logger name="httpclient.wire" additivity="false">
<level value="DEBUG" />
</logger>
<logger name="org.apache.commons.httpclient" additivity="false">
<level value="DEBUG" />
</logger>
<root>
<priority value="DEBUG" />
<appender-ref ref="LOG.Console" />
<appender-ref ref="LOG.DEBUG" />
<appender-ref ref="LOG.INFO" />
<appender-ref ref="LOG.WARN" />
<appender-ref ref="LOG.ERROR" />
<appender-ref ref="LOG.FATAL" />
</root>
</log4j:configuration>