weblogic上部署多个web应用如何配置各自的log4j.properties

myerpso 2010-03-10 12:14:18
我用的weblogic10,在一个server上面部署了两个web应用,各自的WEB-INFO/lib里面都有一个log4j.properties,配置将日志记到各自的日志文件中。

但是我发现两个应用的日志都记到了同一个文件中,使用的是同一个格式,显然是其中一个log4j.properties被另一个覆盖了。

请问这种问题如何解决
找到这篇文章:http://www.jguru.com/faq/view.jsp?EID=550391 看完了 也没弄的太明白
...全文
718 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
myerpso 2010-03-12
  • 打赏
  • 举报
回复
上班啦 高手来呀
myerpso 2010-03-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 wfeng007 的回复:]
log4j 尤其是老版本的 log4j确实有这个问题 classload的问题。。。你可以用SLF4J封装一下吧。。。
[/Quote]
log4j-1.2.14的应该不会很老吧,
可以用SLF4J封装一下,要改动输出日志的地方?
myerpso 2010-03-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 duiduiaa 的回复:]
weblogicd的缓存问题,开启服务器时清楚以前的缓存
如果要彻底解决问题,分别发布在不同的域中就可以了
[/Quote]
客户不愿意发布在不同的域中
缓存问题吗?
myerpso 2010-03-11
  • 打赏
  • 举报
回复
引用 6 楼 duiduiaa 的回复:
log4j.appender.common.File = ${webapp.root}/logs/log.log

这个路径啊  ,你都写成一个了 当然记到一个文件中

写成了两个不同的,应用1是C:/log1.log,应用2是C:/log2.log。
在weblogic中启动两个应用,当访问应用1的时候,日志写入C:/log1.log,当访问应用2的时候日志写入C:/log2.log;以上都很正常,可是当再次访问应用1的时候日志却写入了C:/log2.log中,后续不管应用1还是应用2的日志都写入C:/log2.log。
再把同样的代码拷贝到tomcat中,不会出现以上现象,很正常,1归1,2归2.
wfeng007 2010-03-11
  • 打赏
  • 举报
回复
log4j 尤其是老版本的 log4j确实有这个问题 classload的问题。。。你可以用SLF4J封装一下吧。。。
duiduiaa 2010-03-11
  • 打赏
  • 举报
回复
weblogicd的缓存问题,开启服务器时清楚以前的缓存
如果要彻底解决问题,分别发布在不同的域中就可以了
myerpso 2010-03-11
  • 打赏
  • 举报
回复
快下班了 高手来啊
duiduiaa 2010-03-10
  • 打赏
  • 举报
回复
log4j.appender.common.File = ${webapp.root}/logs/log.log

这个路径啊 ,你都写成一个了 当然记到一个文件中
Wuaner 2010-03-10
  • 打赏
  • 举报
回复
顶楼主 !!!!!!!!!!!!!!!!!!!
myerpso 2010-03-10
  • 打赏
  • 举报
回复
快下班了 高手看看来
myerpso 2010-03-10
  • 打赏
  • 举报
回复
引用 1 楼 jie8991 的回复:
两个工程,

两个log4j.properties配置文件,

对应的输出日志路径应该不同才对


做两个最简单的工程,只写一个servlet,你就会发现两个工程的日志都写在一个日志文件里了。(即使两个工程的log4j.properties里是分别配置了各自的日志文件)
colin_pxx 2010-03-10
  • 打赏
  • 举报
回复
log4j.rootLogger = ERROR, stdout, common

log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%t] - [%p] %m%n

log4j.appender.common = org.apache.log4j.DailyRollingFileAppender
log4j.appender.common.Append = true
log4j.appender.common.File = ${webapp.root}/logs/log.log
log4j.appender.common.DatePattern = '.'yyyy-MM-dd
#log4j.appender.common.Threshold = DEBUG
log4j.appender.common.layout = org.apache.log4j.PatternLayout
log4j.appender.common.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] - [%p] %m%n

log4j.logger.org.hibernate=ERROR
log4j.logger.org.hibernate.SQL=ERROR
神之泪花 2010-03-10
  • 打赏
  • 举报
回复
两个工程,

两个log4j.properties配置文件,

对应的输出日志路径应该不同才对

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧