`
刘方然
  • 浏览: 30101 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

你所不知道的细节 - RollingFileAppender文件切换的确切时机

阅读更多

日志滚动是log4j简单好用的功能,只需要简单配置一个RollingFileAppender就可以了。在使用RollingFileAppender的时候,大家都会以为,日志将在临晨零时作日志切换,原来的日志文件被改名,新的日志文件被创建。这是个很合理的“想当然”推断。

但是事实不是这样的。日志的切换并不一定发生在零点,而是发生在:次日第一条日志写入的时候。网上几乎查不到RollingFileAppender日志文件切换的准确描述,基本上都是“想当然”的版本。

发现这个细节,完全出自巧合。一个被配置为日滚动的配置文件被一个清理老旧日志的脚本无端删除。我原本的想法是,由于配置了日滚动,那么文件将在每天零时被切换,那么最新的日志文件总是保持“新鲜”。“新鲜”的文件是不应该被删除的!后来却发现,原来这个日志文件自被创建以来就没有新的日志被写入,没有触发日志文件切换所致。

 

1
0
分享到:
评论
1 楼 uu4u 2010-10-28  
呵呵,看来还是犯错少,如果之前犯过更多的错误或失误,这个问题早就知道了.

相关推荐

    log4net-log日志文件示例程序.docx

    内家详细的注释和说明,解释每一个指令的用法。... <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"> <!--保存路径,相对路径,保存在根目录下的 LOG文件夹--> <!--追加到文件-->

    解决docker日志挂载的问题

    关键看这里吧(Permission denied), 一直没有看正方,以为是配置日志文件 找不到有问题,下面是部分异常 10:35:09,498 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - openFile(null,...

    基于log4cplus-1.2.0-rc5 版本自实现的一个appender(RollingAppender)

    同时兼具RollingFileAppender 和TimeBasedRollingFileAppender 转存文件的功能。也具备以当前日期作为目录存储日志文件。

    Log4Cpp日志输出至文件组件最佳实践

    记录了C++中使用Log4Cpp的整体使用源码,具体可参考:http://blog.csdn.net/jptiancai/article/details/23678073

    android按天记日志

    原程序,只实现了RollingFileAppender ,文件可以按指定大小 定量产生,但是常用的记录日志方法是 按天生产一个日志文件,所以就从官网上下了源码,简单的修改下,增加了对DailyRollingFileAppender 的支持,可以...

    log4j中配置日志文件相对路径方法分析

    log4j中配置日志文件相对路径方法分析 方法一、 解决的办法自然是用相对路径代替绝对路径,其实log4j的FileAppender本身就有这样的机制,如:log4j.appender.logfile.File=${WORKDIR}/logs/app.log 其中“${...

    azkaban-3.38安装包(已编译)

    log4j.appender.server=org.apache.log4j.RollingFileAppender log4j.appender.server.layout=org.apache.log4j.PatternLayout log4j.appender.server.File=logs/azkaban-execserver.log log4j.appender.server....

    jpivot学习总结.doc

    解压jpivot.war 文件,在你的应用当中你需要下面的这些文件: /wcf/** /jpivot/** /WEB-INF/wcf/** /WEB-INF/jpivot/** /WEB-INF/lib/** 最后你还需要对比 jpivot.war 里的 web.xml 文件去修改你自己的 web....

    log4net实例

    RollingFileAppender 将日志以回滚文件的形式写到文件中。 SmtpAppender 将日志写到邮件中。 - SmtpPickupDirAppender 将消息以文件的方式放入一个目录中,像IIS SMTP agent这样的SMTP代理就可以阅读或发送它们。...

    log4j详解与实战 - 企业应用

    RollingFileAppender - 目的地为大小受限的文件的Appender Layout - 日志格式化器,用来把程序员的logging request格式化成字符串 PatternLayout - 用指定的pattern格式化logging request的Layout

    log4j-1.2.14

    log4j.appender.A1 = org.apache.log4j.RollingFileAppender log4j.appender.A1.File = test.log 设置输入格式 log4j.appender.A1.layout = org.apache.log4j.PatternLayout 格式具体值: %m 日志信息 %d 日期,...

    log4j-1.2.9

    log4j.appender.A1 = org.apache.log4j.RollingFileAppender log4j.appender.A1.File = test.log 设置输入格式 log4j.appender.A1.layout = org.apache.log4j.PatternLayout 格式具体值: %m 日志信息 %d 日期,...

    log4j 文件输出

    ====================== 目录不可以创建,但是log文件是自动创建得呢 log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=C:\bea\user_projects\domain\log ==========================...

    保证看完就用log4j

    log4j.appender.llg=org.apache.log4j.RollingFileAppender #文件位置 #配置llg这个日志文件的位置 log4j.appender.llg.File=f:/llg/log.log #挂上 #。。。没想机密,都配置好了,还要有一个确认 log4j.appender.llg...

    Log4j日志包

    # 每天一个日志文件 ################### log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender log4j.appender.A1.File=c\:\\SampleMessages.html log4j.appender.A1.DatePattern=yyyyMMdd-HH log4j....

    integration-log4j2:使用Ionic RollingFileAppender扩展保护log4j2输出

    Ionic Java SDK示例Web应用程序/ Log4j / Tomcat Ionic SDK提供了一个易于使用的Ionic Platform界面。 特别是,Ionic SDK公开了执行密钥管理和数据加密的功能。 该示例应用程序采用Web应用程序(webapp)的形式,...

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

     org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),  org.apache.log4j.WriterAppender(将日志信息...

    Log4j 学习笔记.doc

    3. RollingFileAppender 4. Layout:日志格式化器 1. PatternLayout 2. patterns in PatternLayout 5. Configuration:配置 1. 默认的log4j初始化过程 2. BasicConfigurator.configure() 3. xml格式的log4j...

    log4j日志驱动包

    log4j.appender.ROLLING_FILE.File=rolling.log //文件位置,也可以用变量${java.home}、rolling.log log4j.appender.ROLLING_FILE.Append=true //true:添加 false:覆盖 log4j.appender.ROLLING_FILE.MaxFileSize=10...

    log4cpp源码完整解析

    完整分析了log4cpp的整体架构,详细介绍了log4cpp的这个重要组件的实现分析了log4cpp内部所使用的设计模式。介绍了log4cpp中的Category的完整实现细节,介绍了所有的Layout及其子类的具体实现。也详细介绍了比较常用...

Global site tag (gtag.js) - Google Analytics