【问题标题】:how to log(slf4j) once a hour to reduce log frequesncy如何每小时记录一次(slf4j)以降低记录频率
【发布时间】:2022-01-10 18:41:25
【问题描述】:

我有一个非常常用的 java 类,我只想每小时记录一个语句,而不是一直。这是为了停止不需要的日志频率。 我可以初始化一个计时器,并且仅在计时器达到 60 分钟后才记录,还有其他优雅的方法可以实现这一点吗?

【问题讨论】:

    标签: java spring logging slf4j


    【解决方案1】:

    我找不到任何带有 logback 的现成的速率限制过滤器。似乎必须实现自己的过滤器。一个好的模板可以找到here

    log4j 允许根据documentation 指定可以限制记录速率的过滤器。 您可以在 appender 中使用 BurstFilter 并指定您想要的每秒事件数(它是一个浮点数,因此您可以传递一个

    <BurstFilter level="INFO" rate="16" maxBurst="100"/>
    

    由于您不希望在全局范围内应用它,您可以专门为这个冗长的 Java 类创建一个单独的附加程序。

    【讨论】:

      猜你喜欢
      • 2021-10-27
      • 2012-10-08
      • 2019-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-21
      • 2018-07-10
      • 1970-01-01
      相关资源
      最近更新 更多