log4j在tomcat下多个工程的log4j.properties配置

本文介绍了如何在Tomcat环境下,处理多个工程共享一个log4j.properties配置文件以实现各自独立的日志输出。当log4j.jar存在于每个工程的lib下时,每个工程可以使用自己的log4j.properties。反之,若统一引用tomcat的lib下的log4j.jar,则需要将所有工程的日志配置集中在同一个log4j.properties文件中,放置在Tomcat的WEB-INF下。通过设置不同的包名来区分不同工程的日志输出。

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

关于tomcat下多个工程配置一个log4j.properties,达到输出各自的日志的问题,

经过实际工作的总结和调查,在这里做出一个总结和备忘。

 

提起log4j的配置,我们常用的配置办法是为每个工程建立一个log4j.properties文件,并在其中写入自己的输出日志的信息。

但是我在工作中遇到一个问题,其实log4j.properties文件的加载与项目引用的jar包有着不可分割的关系。

我遇到的两种情况如下:

1、log4j.jar存在于每个工程的lib下

你的工程下的\WebRoot\WEB-INF\lib\路径下存在自己项目需要的jar包,log4j.jar存在于此路径下时,

当你的tomcat启动时,使用的是工程各自路径下的log4j.jar包来加载每个工程自己的log4j.properties。

这个时候每个项目都可以使用自己的工程下的WebRoot\WEB-INF\classes\log4j.properties配置,

输出各自指定的日志文件。

2、log4j.jar不存在于每个工程的lib下,统一调用tomcat的lib下的log4j.jar

这个时候,你会发现多个工程的log4j.properties一次被加载,但是后加载的会覆盖前面加载的配置内容。

导致所有的工程的log都打出在最后加载的工程的log4j.properties中设定的log文件中。

这个时候解决办法就是,把所有的工程的日志配置在同一个log4j.properties文件中。

然后将这个log4j.properties文件放到tomcat的Tomcat 6.0\webapps\ROOT\WEB-INF\下。

 

例࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值