gpt4 book ai didi

java - Log4j2 monitorInterval性能

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:39:49 25 4
gpt4 key购买 nike

在 log4j2 中,monitorInterval 属性可用于 Configuration 元素。我试图阅读此属性对性能的影响,但无法在任何地方找到任何来源。所以,我有多个关于 monitorInterval 属性的问题。

  1. 我想知道,将小值指定为 5(5 秒)和将大值指定为 3000 会对性能产生什么影响(5 分钟)在 Configuration 元素中?

  2. 到底发生了什么?这是否意味着,它会在每次指定的时间间隔过去时自动检测?

  3. 有什么方法可以强制 log4j2 通过配置文件(XML、JSON、YAML、PROPERTIES)立即重新加载配置,而不是通过编程重新配置?

最佳答案

过去,性能影响很小。具体来说,Log4j2 在处理日志事件时会偶尔检查配置文件的 lastModified 时间。聪明的做法是不在每个事件上都这样做,而是仅在自上次检查以来已经过去足够长的时间后才这样做:每 monitorInterval 秒一次。

从 Log4j 2.5 开始就不同了:有一个 watcher 后台线程偶尔会唤醒并检查配置文件的 lastModified 时间。所以现在对日志记录性能没有影响。 (此更改的原因实际上不是性能而是准确性:如果在记录某些内容之前文件不会滚动,这可能比滚动时间晚得多。)参见 https://issues.apache.org/jira/browse/LOG4J2-1202了解详情。

要强制重新加载配置,除了接触配置文件和编程重新配置外,您还可以使用 JMX 接口(interface)。另请查看 Configurator log4j-core 中的类。它有几种导致重新配置的方法。

关于java - Log4j2 monitorInterval性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43940700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com