Log4j配置的XML方式

项目中加入Log4j日志模块我们比较常用的方式是通过加入log4j.properties配置文件,另一种不是很常用的配置文件类型是xml格式的文件。log4j.xml的位置和log4j.properties位置一样,直接放到工程的src目录下即可。我个人感觉xml文件的格式清晰,可读性强。下面的log4j.xml是一些具体的例子。

 

<?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

 

 

你可能感兴趣的:(apache,C++,c,log4j,xml)