文档章节

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

beanGou
 beanGou
发布于 2014/11/20 10:38
字数 780
阅读 449
收藏 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三个文件。即规律是每天每个节点生成一个日志文件。

到此,基本实现













© 著作权归作者所有

共有 人打赏支持
beanGou
粉丝 7
博文 87
码字总数 19525
作品 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
【hibernate系列】采用p6spy+SQLProfiler完整显示hibernate的S...

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

磊神Ray
2011/12/21
0
0
Weblogic11g for linux使用手册

Weblogic操作手册 For linux 1. 安装 为了管理上的方便和要求,由某一用户(组)管理weblogic及其衍生的应用。本文以weblogic用户为例,之后的安装及配置管理都在weblogic用户下进行。 1.1....

Deng小尧
2013/07/18
0
0
log4j.properties配置文件

log4j.properties 配置 Log4j默认把日志信息分为五个等级: debug < info < warn < error < fatal log4j.rootLogger=INFO #根配置,在此表示INFO级别以下的日志不记录(debug级别的日志就不会...

丈量大地
2014/07/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Go interface{} to string

package mainimport "fmt"func main() {var a interface{}a = "dsadjaldaldad"var b stringb = a.(string) // 话说,用人话说的话,这叫什么操作?fmt.Println(a, b)}...

taadis
10分钟前
0
0
数据库防火墙

数据库防火墙顾名思义是一款数据(库)安全设备,从防火墙这个词可以看出,其主要作用是做来自于外部的危险隔离。换句话说,数据库防火墙应该在入侵在到达数据库之前将其阻断,至少需要在入侵...

突突突酱
20分钟前
1
0
RDBMS 关系型数据库与 NoSQL 全面比较

随着互联网的不断发展,各种类型的应用层出不穷,所以导致在这个云计算的时代,对技术提出了更多的需求,主要体现在下面这四个方面: 低延迟的读写速度:应用快速地反应能极大地提升用户的满...

PeakFang-BOK
28分钟前
1
0
徒弟做了一个Python的实战小项目——银行系统

国际惯例:实践是检验真理的唯一标准。 众所周知,在编程过程中理论知识再充实也需要通过项目的炼金石。下面给大家看一下我徒弟做的一个小项目实战要求,是做一个银行系统,就是我们去银行办...

无也Python
35分钟前
2
0
vue.js响应式原理解析与实现

从很久之前就已经接触过了angularjs了,当时就已经了解到,angularjs是通过脏检查来实现数据监测以及页面更新渲染。之后,再接触了vue.js,当时也一度很好奇vue.js是如何监测数据更新并且重新...

peakedness丶
54分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部