`
pxb7789606
  • 浏览: 11742 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

log4j自动控制日志大小

阅读更多
今天是我第一次写博客,就随便写一下简单的东西。在工作中除了那些复杂的大问题以外。很多细节都是由这些小问题组成的啊。
之前在公司遇到一个小问题。在使用log4j自动生成日志文件的时候我一直都使用的是按照每日的方法来生成日志的。但这样就有一个问题,就是日志文件过多的时候一定要有个人来进行垃圾清理工作。于是我要解决的问题就是怎样自动删除已经老旧的日志文件.

这个是我最初使用的log4j配置文件里的内容
log4j.appender.RF=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RF.File=./log/log.txt
log4j.appender.RF.DatePattern='.'yyyy-MM-dd'.txt'
log4j.appender.RF.layout=org.apache.log4j.PatternLayout
log4j.appender.RF.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p :%m;%n

后来经过查资料发现修改成如下这样以后
#log4j.appender.RF=org.apache.log4j.RollingFileAppender
#log4j.appender.RF.File=./log/log.txt
#log4j.appender.RF.MaxFileSize=500MB
#log4j.appender.RF.MaxBackupIndex=10
#log4j.appender.RF.layout=org.apache.log4j.PatternLayout
#log4j.appender.RF.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p :%m;%n

其中把DailyRollingFileAppenderx修改为了RollingFileAppender
并增加了两行配置
#log4j.appender.RF.MaxFileSize=500MB
#log4j.appender.RF.MaxBackupIndex=10

这样的结果,日志文件只有一个,文件最大为500M, 当此配置文件超过此大小 就生成一个备份文件XXXX-1. 然后将此配置文件清空。   依次生成  2,3 …….10 .  如果 10个备份文件都满了 。那么接下来就清空 备份文件1 依次类推.  其实这样也已经可以做到我之前自动删除文件的目的了。

但是觉得不够人性化, 就试着修改配置 以期待能将两种方式综合起来. 既不限制文件大小,但是当超过文件个数的时候,就覆盖最早的日志文件。只是短时间内没有找到解决办法。如果有了,这篇日志还将继续更新。 希望大家可以讨论如是问题。
分享到:
评论
1 楼 David0446 2010-09-09  
工作中log4j很多东西都没用到,还有很大的发掘空间,哈哈

相关推荐

    Log4j日志管理系统简单使用说明

     BasicConfigurator.configure():自动快速地使用缺省Log4j环境。  PropertyConfigurator.configure(String configFilename):读取使用Java的特性文件编写的配置文件。  DOMConfigurator.configure(String ...

    利用Node.js如何实现文件循环覆写

    前言 这次编写Node.js项目的时候用到了日志模块,其中碰到了一个小问题。 这是一个定时执行可配置自动化任务的项目,所以输出信息会不断增加,也就...一提到记录日志很多Node.js开发者肯定会找到log4js,先来看看log4j

    微软活动目录管理管理简明手册

    4 k9 H# a7 L4 C" C全局目录服务器是一个域控制器,活动目录建立的第一个域控制器自动成为全局目录服务器。全局目录就放在全局目录服务器上。 5 E4 E: a& _- c% ~1 X 4 Z z8 n. F8 D8 @1 `% A/ p% x4 s2.活动目录的...

    Toad 使用快速入门

    可以进行各种alter操作:online, offline, 增加数据文件,改变数据文件大小,改变物理存储属性等 对其他数据库对象也有完备的操作支持。 2. SQL Editor: a) 激活SQL Editor的三种方式: i. 连接到数据库之后...

    linux.chm文档

    find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件 chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限 chmod u-s /bin/file1 禁用一个二进制文件的 SUID...

    阿里巴巴编码规范 基础技能认证 考题分析(考题+答案).docx

    避免重复打印日志,浪费磁盘空间,务必在log4j.xml中设置additivity=false。 D .错误日志和业务日志尽量分开存放。 多选 16.关于代码注释,下列哪些说法符合《阿里巴巴Java开发手册》:ABD A .特殊注释标记,请...

    oracle数据库经典题目

    系统触发器主要是DML事件和系统事件发生时调用的触发器,其中DML事件包括CREATE、DROP、ALTER等,系统事件包括LOGON、LOGOFF、STARTUP、SHUTDOWN、SERVERERROR等。 9.简述Oracle数据库角色的种类、作用,以及如何...

    HGE_系列教材(1-9)

    System_Log 在日志文件中书写格式化消息 System_Launch 运行一个URL 或者外部的可执行文件或数据文件 System_Snapshot 截屏并保存到一个文件 3. 资源函数(Resource functions): Resource_Load 从硬盘上读取资源到...

    LINGO软件的学习

    @sum(warehouses(I): volume(I,J))=demand(J)); !产量约束; @for(warehouses(I): @sum(vendors(J): volume(I,J))(I)); !这里是数据; data: capacity=60 55 51 43 41 52; demand=35 37 22 32 41 32 43 38; ...

    网管教程 从入门到精通软件篇.txt

    ASD:Microsoft Word的自动保存文件;Microsoft高级流媒体格式(microsoft advanced streaming format,ASF)的描述文件;可用NSREX打开 Velvet Studio例子文件 ASF:Microsoft高级流媒体格式文件 ASM:汇编语言...

    新版Android开发教程.rar

    四频 (850 , 900 , 1800 , 1900) ;支持 3G , 802.11b 和 802.11g 。----------------------------------- Android 编程基础 5 互联网 支持 HTTP 、 WAP Push 和 xHTML ;支持 POP 、 IMAP 、 SMTP ,以及 AOL ...

Global site tag (gtag.js) - Google Analytics