Log 4 j構成のXML方式
プロジェクトにLog 4 jログモジュールを追加する私たちがよく使う方法はlog 4 jを追加することです.propertiesプロファイル、もう一つの一般的ではないプロファイルタイプはxml形式のファイルです.log4j.xmlの位置とlog 4 j.propertiesの位置は同じで、工事のsrcディレクトリの下に直接置けばいいです.個人的にはxmlファイルのフォーマットがはっきりしていて、読みやすさが強いと思います.以下のlog 4 j.xmlはいくつかの具体的な例です.
log4j.propertiesファイルは次のとおりです.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<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>
<!-- DEBUG -->
<appender name="LOG.DEBUG"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="debug.log" />
<param name="MaxFileSize" value="5120KB" />
<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>
<!-- INFO HTML -->
<appender name="LOG.INFO"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="info.html" />
<param name="MaxFileSize" value="5120KB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.HTMLLayout">
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="INFO" />
</filter>
</appender>
<!-- WARN -->
<appender name="LOG.WARN"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="warn.log" />
<param name="MaxFileSize" value="5120KB" />
<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>
<!-- ERROR -->
<appender name="LOG.ERROR"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="error.log" />
<param name="MaxFileSize" value="5120KB" />
<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>
<!-- FATAL -->
<appender name="LOG.FATAL"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="fatal.log" />
<param name="MaxFileSize" value="5120KB" />
<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>
<root>
<!-- -->
<!--#log4j OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL -->
<priority value="OFF" />
<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>
log4j.propertiesファイルは次のとおりです.
# :debug>info>warn>error
#log4j.rootLogger=info,appender1
log4j.rootLogger=debug,appender1,appender2
#
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
#
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
#
# %r
# %t main
# %p DEBUG/INFO/ERROR
# %c
# %l ,
# %m
# %n
log4j.appender.appender1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M] %m%n
#
log4j.appender.appender2=org.apache.log4j.FileAppender
#
log4j.appender.appender2.File=c:/Log4JDemo06.log
#
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.appender2.layout.ConversionPattern=[%d{HH:mm:ss:SSS}][%C-%M] -%m%n