weblogic服务器,log4j按日期生成日志,为啥昨天日志文件的日志还在增加?
博客专区 > beanGou 的博客 > 博客详情
weblogic服务器,log4j按日期生成日志,为啥昨天日志文件的日志还在增加?
beanGou 发表于3年前
weblogic服务器,log4j按日期生成日志,为啥昨天日志文件的日志还在增加?
  • 发表于 3年前
  • 阅读 212
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

摘要: log4j为多节点weblogic服务器按日期生成日志

问题描述:

我们使用的是weblogic服务器,而且是多节点的,因为后台每天产生日志比较多,要求按日期生成日志,即每天一                     个日志文件,如生成文件名为server.log-2014-11-20。开始按照一般配置来写log4j配置文件,配置文件如下:

### set log levels ###  
log4j.rootLogger = debug ,  stdout ,  D ,  E 
  
### \u8F93\u51FA\u5230\u65E5\u5FD7\u6587\u4EF6 ###  
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender  
log4j.appender.D.DatePattern = '.'yyyy-MM-dd
#log4j.appender.D.File = /home/aaa/ahlog/serlog.log
log4j.appender.D.File = /opt/ict/pro/domains/bbb/bin/ahlog/server.log
log4j.appender.D.Append = true  
log4j.appender.D.Threshold = INFO  
log4j.appender.D.layout = org.apache.log4j.PatternLayout  
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %l:%c:%r  ] - [ %p ]  %m%n

正常的话,昨天是19号,到了今天,会将昨天存放日志的文件重命名为一个类似这种文件名格式server.log-2014-11-19的文件,并且生成一个新的文件:server.log。今天但是出现一个很奇怪                    的现象:比如今天是11月20号,log4j确实有一个2014-11-19.log文件,今天的日志文件是server.log,问题是这两个文件的日志都在增加!!而且,丢失了部分日志。按照道理,昨天的文件里面内容就不会变了, 那么问题来了, 为何?


解决办法:

<1>开始实在是不知道什么原因,就折中采取了另外一种策略:按照文件大小来配置。于是设成文件大小最大2G。发现第一个文件最后大小为6点多G!然后基本上每个文件都是2点多G,另外就是 刚开始只有第一个文件在增加日志,后来就生成两个文件,此时三个日志文件日志都在增加。然后,我设置成文件大小最大2M,第一个文件是6M多,其他的基本都是2点多M。那么问题来了,为何?

<2>然后将情况描述给一个管服务器的同事,根据这些数据,和3有必然的联系(3个文件同时增加,第一个文件的大小是配置大小的3倍多),他猜是不是和weblogic服务器有关,这个服务器使用了3个节点! (有兴趣的童鞋可以查下) ,于是据此查到相关信息,重新配了 log4j文字文件: 

### set log levels ###  
log4j.rootLogger = debug ,  stdout ,  D ,  E 
  
### \u8F93\u51FA\u5230\u65E5\u5FD7\u6587\u4EF6 ###  
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender  
log4j.appender.D.DatePattern = '.'yyyy-MM-dd
#log4j.appender.D.File = /home/aaa/ahlog/serlog.log
log4j.appender.D.File = /opt/ict/pro/domains/bbb/bin/ahlog/${weblogic.Name}.log
log4j.appender.D.Append = true  
log4j.appender.D.Threshold = INFO  
log4j.appender.D.layout = org.apache.log4j.PatternLayout  
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %l:%c:%r  ] - [ %p ]  %m%n

注意不同部分:

log4j.appender.D.File = /opt/ict/pro/domains/bbb/bin/ahlog/${weblogic.Name}.log

注意${weblogic.Name}这是一个变量,即weblogic节点的名称。

改过后,会同时生成app1.log、app2.log、app3.log三个日志文件,正好三个节点的名称分别为app1、app2、app3,比如今天20号,昨天生成了三个日志文件:app1.log.2014-11-19,app2.log.2014-11-19,app3.log.2014-11-19三个文件。即规律是每天每个节点生成一个日志文件。

到此,基本实现













共有 人打赏支持
粉丝 8
博文 87
码字总数 19929
×
beanGou
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: