情况:我们使用带有异步附加程序的 SLF4j 和 Log4j 2 问题是我们还使用了使用java.util.Logging
. 我看到关于使用性能的各种令人发指的警告,jul-to-slf4j
因为您不能java.util.Logging
因为它在 JDK 中而直接退出,并且因为......这就是http://www.slf4j 上的文档。 org/legacy.html说:
“...因此,从 7 月到 SLF4J 的翻译会严重增加禁用日志语句的成本(60 倍或 6000%),并显着影响启用日志语句的性能(总体增加 20%)。从 logback 版本 0.9.25 开始,借助 LevelChangePropagator,可以完全消除禁用日志语句的 60 倍转换开销。”
请注意,无论如何,使用 SLF4J +java.util.Logging
您会遇到 20% 的性能损失,但您可以通过使用最新版本来放弃 60 倍的提升。
20% 是不可接受的。
欢迎和鼓励其他想法,但我想到的解决方案是根本不合并java.util.Logging
。相反,请使用一个单独的配置文件,该文件指向与其他所有内容相同的日志文件。有没有人知道或知道我在哪里可以找到如何做到这一点的例子,假设这样做并不意味着所有创造的结束?
如果有更好的方法,我愿意接受。