参考了网上的资料,log4j配置文件,xml格式的,实现了分级输出文件,并可以对具体的包进行输出限制。
<?xmlversion="1.0"encoding="GB2312"?>
<!DOCTYPElog4j:configurationSYSTEM"log4j.dtd">
<!--#log4j中有5级logger,#FATAL0,#ERROR3,#WARN4,#INFO6,#DEBUG7-->
<log4j:configurationxmlns:log4j='http://jakarta.apache.org/log4j/'>
<!--输出到控制台-->
<appendername="LOG.Console"class="org.apache.log4j.ConsoleAppender">
<layoutclass="org.apache.log4j.PatternLayout">
<paramname="ConversionPattern"value="%d{yyy-MM-ddHH:mm:ss}[%-5p]%c{%F:%L}-%m%n"/>
</layout>
</appender>
<!--将级别为DEBUG的信息输出到控制台-->
<appendername="LOG.DEBUG"class="org.apache.log4j.RollingFileAppender">
<paramname="File"value="d:/log/debug.log"/>
<paramname="MaxFileSize"value="5120KB"/>
<paramname="MaxBackupIndex"value="10"/>
<layoutclass="org.apache.log4j.PatternLayout">
<paramname="ConversionPattern"value="%d{yyy-MM-ddHH:mm:ss}[%-5p]%c{%F:%L}-%m%n"/>
</layout>
<filterclass="org.apache.log4j.varia.LevelRangeFilter">
<paramname="LevelMin"value="DEBUG"/>
<paramname="LevelMax"value="DEBUG"/>
</filter>
</appender>
<!--将级别为INFO的信息输出到控制台-->
<appendername="LOG.INFO"class="org.apache.log4j.RollingFileAppender">
<paramname="File"value="d:/log/info.log"/>
<paramname="MaxFileSize"value="5120KB"/>
<paramname="MaxBackupIndex"value="10"/>
<layoutclass="org.apache.log4j.PatternLayout">
<paramname="ConversionPattern"value="%d{yyy-MM-ddHH:mm:ss}[%-5p]%c{%F:%L}-%m%n"/>
</layout>
<filterclass="org.apache.log4j.varia.LevelRangeFilter">
<paramname="LevelMin"value="INFO"/>
<paramname="LevelMax"value="INFO"/>
</filter>
</appender>
<!--将级别为WARN的信息输出到控制台-->
<appendername="LOG.WARN"class="org.apache.log4j.RollingFileAppender">
<paramname="File"value="d:/log/warn.log"/>
<paramname="MaxFileSize"value="5120KB"/>
<paramname="MaxBackupIndex"value="10"/>
<layoutclass="org.apache.log4j.PatternLayout">
<paramname="ConversionPattern"value="%d{yyy-MM-ddHH:mm:ss}[%-5p]%c{%F:%L}-%m%n"/>
</layout>
<filterclass="org.apache.log4j.varia.LevelRangeFilter">
<paramname="LevelMin"value="WARN"/>
<paramname="LevelMax"value="WARN"/>
</filter>
</appender>
<!--将级别为ERROR的信息输出到控制台-->
<appendername="LOG.ERROR"class="org.apache.log4j.RollingFileAppender">
<paramname="File"value="d:/log/error.log"/>
<paramname="MaxFileSize"value="5120KB"/>
<paramname="MaxBackupIndex"value="10"/>
<layoutclass="org.apache.log4j.PatternLayout">
<paramname="ConversionPattern"value="%d{yyy-MM-ddHH:mm:ss}[%-5p]%c{%F:%L}-%m%n"/>
</layout>
<filterclass="org.apache.log4j.varia.LevelRangeFilter">
<paramname="LevelMin"value="ERROR"/>
<paramname="LevelMax"value="ERROR"/>
</filter>
</appender>
<!--将级别为FATAL的信息输出到控制台-->
<appendername="LOG.FATAL"class="org.apache.log4j.RollingFileAppender">
<paramname="File"value="d:/log/fatal.log"/>
<paramname="MaxFileSize"value="5120KB"/>
<paramname="MaxBackupIndex"value="10"/>
<layoutclass="org.apache.log4j.PatternLayout">
<paramname="ConversionPattern"value="%d{yyy-MM-ddHH:mm:ss}[%-5p]%c{%F:%L}-%m%n"/>
</layout>
<filterclass="org.apache.log4j.varia.LevelRangeFilter">
<paramname="LevelMin"value="FATAL"/>
<paramname="LevelMax"value="FATAL"/>
</filter>
</appender>
<!--
<appendername="InitAction"class="org.apache.log4j.DailyRollingFileAppender">
<paramname="File"value="d:/dbcon.log"/>
<paramname="MaxFileSize"value="5120KB"/>
<paramname="MaxFileSize"value="10"/>
<paramname="MaxBackupIndex"value="2"/>
<paramname="DatePattern"value="'.'yyyy-MM-dd'.'log"/>
<layoutclass="org.apache.log4j.PatternLayout">
<paramname="ConversionPattern"value="%d{yyy-MM-ddHH:mm:ss}-%m%n"/>
<paramname="ConversionPattern"value="%d{DATE}[%-5p]%c{%F:%L}-%m%n"/>
</layout>
</appender>
-->
<!--设置org.logicalcobwebs包的输出级别为INFO-->
<categoryname="org.logicalcobwebs">
<priorityvalue="INFO"/>
<appender-refref="LOG.Console"/>
</category>

<root>
<priorityvalue="DEBUG"/>
<appender-refref="LOG.Console"/>
<appender-refref="LOG.DEBUG"/>
<appender-refref="LOG.INFO"/>
<appender-refref="LOG.WARN"/>
<appender-refref="LOG.ERROR"/>
<appender-refref="LOG.FATAL"/>
</root>
</log4j:configuration>
本文介绍了一种使用XML格式的Log4j配置文件实现不同级别的日志信息分级输出的方法。通过配置不同的输出器(Appender),可以将DEBUG、INFO、WARN、ERROR及FATAL级别的日志分别记录到对应的文件中,并且对特定包的日志输出级别进行了限定。
2174

被折叠的 条评论
为什么被折叠?



