文档章节

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

beanGou
 beanGou
发布于 2014/11/20 10:38
字数 780
阅读 347
收藏 0
点赞 0
评论 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
码字总数 19938
作品 0
杭州
程序员
java 日志框架——log4j

Log4J是JAVA下的一款日志组件 下载: http://logging.apache.org/log4j/2.x/download.html 下面的示例我使用最新版本2.7无法正常运行,最新版本使用方法可能不同。本文示例使用log4j-1.2.15测...

xundh ⋅ 05/09 ⋅ 0

Log4j 2.0在开发中的高级使用详解

log4j与slf4j、logback比较 而log4j slf4j logback就是目前主流的日志框架。但后两者效率高是第一个。推荐使用:slf4j 或者 logback(spring-boot默认日志实现) log4j是apache实现的一个开源日...

spinachgit ⋅ 04/22 ⋅ 0

Java混乱的日志体系(logback)(转)

作为一名 Java 程序员,日常开发工作中肯定会接触日志系统,但是众多的框架,包括 Log4j、Log4j2、Logback、Slf4j、Apache Common logging 等等,引用的 maven 依赖众多,到底可以去掉哪些,...

easonjim ⋅ 2017/12/27 ⋅ 0

使用代码形式配置Log4J日志框架

一、使用代码形式配置Log4J日志框架 一般情况下,我们都是使用配置文件形式来配置Log4J日志框架,比如使用“log4j.properties”文件。但有些时候,我们只是想简单快速使用Log4J日志框架,配置...

郭恩洲_OSC博客 ⋅ 05/28 ⋅ 0

日志部分,项目使用,面试不面的

Log4j.properties配置详解 一、Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。...

u012557298 ⋅ 01/01 ⋅ 0

Java日志框架-logback的介绍及配置使用方法(纯Java工程)(转)

说明:内容估计有些旧,2011年的,但是大体意思应该没多大变化,最新的配置可以参考官方文档。 一、logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块...

easonjim ⋅ 2017/11/07 ⋅ 0

MyBatis3错误:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Priority的问题解决

在使用Maven新建QuitStart类型项目时,引入了MyBatis3.2.0版本的JAR包之后,出现如下错误: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Priority Cause......

easonjim ⋅ 2017/06/19 ⋅ 0

spring boot保存|打印日志-logback的配置和使用

【转载】(https://www.cnblogs.com/winner-0715/p/6105519.html) 1.logback介绍 logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback-classic和...

qq_25652949 ⋅ 04/24 ⋅ 0

ELK实时日志分析平台部署搭建详细实现过程

原文地址:http://www.linuxidc.com/Linux/2016-09/135137.htm 1、ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 日志主要包括系统日志、应用程序日志和安全日志。...

tanga842428 ⋅ 2017/07/27 ⋅ 0

你不知道的System.out.println()

这篇博客是为了解释System.out.println是什么以及它的工作原理。 什么是System.out.println() System.out.println是一个Java语句,一般情况下是将传递的参数,打印到控制台。 System - 是 ...

为了美好的明天 ⋅ 2017/09/16 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

开启Swarm集群以及可视化管理

在搭建的两台coreos服务器上开启swarm集群 前置条件: docker均开启2375端口 同一个局域网内 主服务器上安装Portainer容器 安装Portainer容器执行: docker run -d -p 9000:9000 --restart=a...

ykbj ⋅ 29分钟前 ⋅ 0

单例设计模式

1、单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例 2、饿汉式单例类 在这个类被加载时,静态变量instance会被初始化,此时类的私有构造子会被调用 饿汉式是典型...

职业搬砖20年 ⋅ 34分钟前 ⋅ 0

前端基础(四):前端国际规范收集

字数:1142 阅读时间:5分钟 前言 由于前端技术的灵活性和杂乱性,导致网上的许多解决方案不够全面甚至是完全错误,容易起到误导作用。所以,我对搜索到的解决方案往往是存疑态度。那么,如何...

老司机带你撸代码 ⋅ 36分钟前 ⋅ 0

Failed to open/create Network-VirtualBox Host-Only

虚拟机版本 : Oracle Vm VirtualBox 5.2.12 报错时机:开网卡二,重启虚拟机报错 "Failed to open/create the internal network 'HostInterfaceNetworking-VirtualBox Host-Only Ethernet Ada......

p至尊宝 ⋅ 39分钟前 ⋅ 0

三分钟学会如何在函数计算中使用 puppeteer

摘要: 使用 puppeteer 结合函数计算,可以快速的构建弹性的服务完成各种功能,包括:生成网页截图或者 PDF、高级爬虫,可以爬取大量异步渲染内容的网页、模拟键盘输入、表单自动提交、登录网...

阿里云云栖社区 ⋅ 43分钟前 ⋅ 0

springMVC接收表单时 Bean对象有Double Int Char类型的处理

前台ajax提交表单price为double类型 后台controller就介绍不到 400错误 前台 实体类: public class ReleaseMapIconConfig{ private String id; private long maxValue; private long minVal......

废柴 ⋅ 45分钟前 ⋅ 0

ZOOKEEPER安装

工作需要在ubuntu上配置了一个zookeeper集群,有些问题记录下来。 1. zookeeper以来java,所以首先要安装java。但是ubuntu系统有自带的jdk,需要通过命令切换java版本: $ sudo update-alter...

恰东 ⋅ 48分钟前 ⋅ 0

linux 进程地址空间的一步步探究

我们知道,在32位机器上linux操作系统中的进程的地址空间大小是4G,其中0-3G是用户空间,3G-4G是内核空间。其实,这个4G的地址空间是不存在的,也就是我们所说的虚拟内存空间。 那虚拟内存空间...

HelloRookie ⋅ 48分钟前 ⋅ 0

myatis #{}与${}区别及原理

https://blog.csdn.net/wo541075754/article/details/54292751

李道福 ⋅ 51分钟前 ⋅ 0

三分钟学会如何在函数计算中使用 puppeteer

摘要: 使用 puppeteer 结合函数计算,可以快速的构建弹性的服务完成各种功能,包括:生成网页截图或者 PDF、高级爬虫,可以爬取大量异步渲染内容的网页、模拟键盘输入、表单自动提交、登录网...

猫耳m ⋅ 52分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部