log4J配置及在web.xml文件中的配置

本文介绍在Tomcat服务器下部署多个应用时如何正确配置Log4j,避免因webAppRootKey值相同导致的日志冲突问题。通过设置webAppRootKey和log4jConfigLocation参数,并详细说明了log4j.xml文件的配置方法。

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

web.xml中的相关配置
      <!-- webAppRootKey:值缺省为webapp.root,当tomcat下部署多个应用时(每个都用到了log4j),
		每个应用的web.xml中都要配置该参数,该参数与Log4j.xml文件中的${webapp.root}
		否则每个应用的webAppRootKey值都相同,就会引起冲突
	 -->
	<context-param>
		<param-name>webAppRootKey</param-name>
		<param-value>webapp.root</param-value>
	</context-param>
	
	<!-- log4jConfigLocation:log4j配置文件存放路径 -->
	<context-param>
		<param-name>log4jConfigLocation</param-name>
		<param-value>/WEB-INF/conf/log4j.xml</param-value>
	</context-param>
	<listener>
		<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
	</listener>

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="console" class="org.apache.log4j.ConsoleAppender">
		<param name="Target" value="System.out" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%-5p: %c - %m%n" />
		</layout>
	</appender>
        <!-- 文件的日志记录 -->
	<appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="File" value="${webapp.root}/logs/testdata.log" />
		<param name="Append" value="true" />
		<param name="DatePattern" value="'.'yyyy-MM-dd" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss,SSS} [%-5p]: %c - %m%n" />
		</layout>
	</appender>
	<!-- name要对应字节码文件所在的包路径,只会记录该包路径下的代码的日志 -->
	<logger name="com.bocloud">
		<level value="debug,info,error" />
		<appender-ref ref="file"/>
		<appender-ref ref="console" />
	</logger>
	
	<!-- Root Logger -->
	<root>
		<priority value="debug" />
		<appender-ref ref="console" />
	</root>
	
</log4j:configuration>





转载于:https://my.oschina.net/lhplj/blog/274564

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值