Log4j配置的XML方式

本文详细介绍了如何使用Log4j的两种配置方式:properties和XML文件。通过具体示例展示了不同级别的日志输出到控制台及文件的方法,并提供了完整的配置文件示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中加入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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值