文档章节

weblogic服务器,log4j按日期生成日志,为啥昨天日志文件的日志还在增加?

beanGou
 beanGou
发布于 2014/11/20 10:38
字数 780
阅读 496
收藏 0

问题描述:

我们使用的是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三个文件。即规律是每天每个节点生成一个日志文件。

到此,基本实现













© 著作权归作者所有

共有 人打赏支持
上一篇: bug集
beanGou
粉丝 7
博文 87
码字总数 19525
作品 0
杭州
程序员
私信 提问
Spring+Hibernate+Struts程序移植Weblogic问题集

文章来源: http://blog.csdn.net/zhizhesky/archive/2007/06/02/1634908.aspx Spring+Hibernate+Struts的web应用程序开放过程一般在tomcat中运行。但实际应用一般会要求部署在WebLogic中。在...

长平狐
2012/10/17
1K
0
Spring 配置log4j和简单介绍Log4J的使用

Log4j 是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事 件记录器、UNIX Syslog守护进程等;我们也可以...

黑帽子
2013/07/12
0
2
log4j及log4j2在Spring MVC中的使用.md

项目已上线许久,项目中使用的是log4j 1.x版本,本来日志也可以正常记录,但是运维报怨说,你们的日志太大了,catalina.out日志输出无限大,以致有些应用出现服务器存储告警,所以建议我们:...

混迹在Amoy
07/28
0
0
HTML我帮您-Java EE快速开发平台

HTML580是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的Java EE快速开发平台。 HTML580TML580开发平台主要采用SpringMVC + MyBatis + EasyUI + Apache Shiro + Ehcac...

luck332
2016/06/12
6
0
【hibernate系列】采用p6spy+SQLProfiler完整显示hibernate的S...

虽然在hibernate中有show_sql选项,但是显示出来的语句大多类似 select * from xxx where value=? 但是有时候我们需要得到完整的SQL语句,怎么办呢?使用P6SPY就可以完成这个任务 p6spy是一个...

磊神Ray
2011/12/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

我的Linux系统九阴真经

我的Linux系统九阴真经 在今天,互联网的迅猛发展,科技技术也日新月异,各种编程技术也如雨后春笋一样,冒出尖来了。各种创业公司也百花齐放百家争鸣,特别是针对服务行业,新型互联网服务行...

linuxCool
28分钟前
2
0
Python程序员需要知道的30个技巧

1 直接交换两个数字位置 1x, y = 10, 202print(x, y)3x, y = y, x4print(x, y)5#1 (10, 20)6#2 (20, 10) 2 比较运算符的链接 1n = 102result = 1 < n < 203print(result)4# True5result = 1 ......

糖宝lsh
28分钟前
2
0
[LintCode] Linked List Cycle(带环链表)

描述 给定一个链表,判断它是否有环。 样例 给出 -21->10->4->5, tail connects to node index 1,返回 true。 这里解释下,题目的意思,在英文原题中,tail connects to node index 1 表示的...

honeymose
39分钟前
5
0
Android :报错Your project path contains non-ASCII characters.

报错内容如下 Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See ht......

lanyu96
50分钟前
5
0
Nginx平滑添加模块

Nginx已经编译安装并运行了一段时间, 然后某一天, 发现需要用到某个模块但当初没有编译, 这个时候怎么办呢? 卸载重新安装肯定可以的, 如果Nginx版本没有变更的话, 则有一个相对平滑的方法来添...

老菜鸟0217
55分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部