当前位置: 首页 > 知识库问答 >
问题:

logback在每小时回滚期间删除MaxHistory之前的日志

松国兴
2023-03-14
<appender name="TIME_BASED_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>c:/logs/timeBasedlogFile.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">        
        <fileNamePattern>c:/logs/timeBasedlogFile.%d{yyyy-MM-dd_HH}.log</fileNamePattern>
        <maxHistory>10</maxHistory>
    </rollingPolicy>
    <encoder>
        <pattern>%relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
</appender> 

如果我使用每日翻转,那么我可以看到翻转日志被维护到 中提到的天数

maxHistory只适用于日常翻转吗?

共有1个答案

冉弘化
2023-03-14

maxhistory元素指定滚动到历史记录的文件数。
如果选择 10 ,这意味着您可以拥有10个文件的历史记录。

在您的示例中,您将小时指定为滚动的粒度。这意味着,如果您的应用程序每小时记录一次,那么10小时后历史记录将满,旧的历史记录将被清除。

在您的小时滚动文件配置中,将10天作为历史记录远不明显,因为您的应用程序可能会关闭几个小时甚至几天。

 类似资料:
  • 最初,我在这里找到了一个倒计时问题的部分答案 (“cymen”谢谢你的回答!) 如何防止倒计时在剩余时间内使用小数? 还有,如何使倒计时只表示一分钟内还剩几秒,一小时内还剩几分钟,等等,就像在这个网站上,恰好有我要倒计时的确切日期和时间.... http://50onfire.com/dc/一样。 http://50onfire.com/dc/ 以下是我将Cymen的代码编辑为: http://j

  • 问题内容: 我一直在尝试建立一个简单的logback项目,以按日期和文件大小滚动日志文件,到目前为止,我还无法使我的附加程序滚动到另一个文件。而是将其写入 标记指定的日志。 这是我的logback.xml配置文件: 乍看起来,它应该可以工作,对吗?我做错什么了吗?我的整个可构建项目都可以在此处的zip中找到:http://www.mediafire.com/file/2bxokkdyz2i/log

  • 我们在Apache Tomcat上使用log4j2.3。我们最近从log4j1.2升级到log4j2.0。除了一个问题,它工作得很好。我们使用RollingFile Appender每天滚动日志文件。正如预期的那样,文件会在午夜之后滚动,但是当前日志文件不会清除前一天的日志条目。我们最终得到了一个日志文件,它的大小不断增加,并且包含了所有前几天的条目。 这是我们的滚动文件Appender配置: 有

  • 问题内容: 我有一个日期字符串,想要将其转换为日期类型: 我尝试将datetime.datetime.strptime与所需的格式一起使用,但它会返回转换时间。 这是输出返回的内容: 我需要删除时间:00:00:00。 问题答案: 您想要的是datetime.date对象。您拥有的是一个datetime.datetime对象。您可以按照以上说明进行打印时更改对象,或者在创建对象时执行以下操作:

  • 问题内容: 上面的代码将20分钟添加到StartTimeDate。有什么好方法可以删除那些20分钟未添加的内容?试图找到一种解决方案,但没有找到解决方案。有任何想法吗? 问题答案: 您没有任何特定的功能来减去任何日期部分 只需在前面添加负号 或乘以-1

  • 问题内容: 场景: 我有一个从Excel工作表中检索到具有多个列的数据框。其中一些列是日期:一些仅包含日期(yyyy:mm:dd),一些具有日期和时间戳(yyyy:mm:dd 00.00.000000)。 问题: 当日期不是数据框的索引时,如何从日期中删除时间戳? 我已经尝试了什么: 在SO的其他文章中使用pandas中的日期- 在datetime中删除看不见的字符并转换为字符串以及如何剥离pan