繁体   English   中英

如何使用 log4j 和 log4j2 属性文件登录到同一文件

[英]How to use log4j and log4j2 properies file to log into same file

我想根据大小时间滚动和压缩日志文件。 我发现使用 log4j2 可以很容易地执行此操作。 问题是许多内部 jars 仍然使用 log4j 进行日志记录,我想记录下来。

我在这里想到的可能的解决方案是通过使用log4j1.compatibility=true通过保持 log4j.properties 和 log4j2.properties

我想不通的是如何在 log4j.properties 和 log4j2 属性中使用 RollingFileAppender?

请建议我如何使用属性文件(log4j 和 log4j2)在达到特定大小或时间时通过自动压缩记录到同一个文件。

Note: I tried using uk.org.simonsite.log4j.appender.TimeAndSizeRollingAppender but getting error NoClassDefError: org.apache.log4j.xml.unrecognizedelementhandler due to class is removed in log4j versions greater than v1.2.17.

大多数库只使用 Log4j 1.x 来记录消息,它们不以编程方式配置日志系统。 因此,您可以简单地将log4j替换为log4j-1.2-api

Log4j 1.x 桥 ( log4j-1.2-api ) 与 Log4j 2.x Core 共享其配置,因此您可以使用本机 Log4j 2.x 配置文件来配置RollingFileAppender 不需要log4j.properties文件或log4j1.compatibility属性。

PS:在 Log4j 2.x(参见文档)支持的 4 种配置文件格式中,属性格式可能更为复杂。 我个人会选择其余 3 个之一(XML、JSON 或 YAML)。 XML 格式不需要额外的依赖。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM