java - 用 LogBack 替换 Log4j 的问题,log4j-over-slf4j.jar 的缺点

标签 java logging log4j slf4j logback

因此,我一直在移植我们的一些服务以使用 Logback over log4j,并且我一直在使用 log4j-over-slf4j jar 来为我们的遗留依赖项欺骗 log4j。唯一的问题是 log4j-over-slf4j 没有实现 log4j 的许多类,所以我看到有几个类没有从依赖 jar 中找到异常。人们是如何解决这个问题的?将 nlog4j 放在类路径中而不是 log4j-over-slf4j jar 中就足够了吗?我还没有测试最后一个想法,但我计划明天进行。

引用:

最佳答案

The only issue is log4j-over-slf4j doesn't implement many of the classes of log4j so I'm seeing a decent few class not found exceptions from dependent jars. How have people got around this?

嗯,我猜你正面临着 Bridging legacy APIs 中明确提到的“问题”您发布的链接:

When does it not work?

The log4j-over-slf4j module will not work when the application calls log4j components that are not present in the bridge. For example, when application code directly references log4j appenders, filters or the PropertyConfigurator, then log4j-over-slf4j would be an insufficient replacement for log4j. However, when log4j is configured through a configuration file, be it log4j.properties or log4j.xml, the log4j-over-slf4j module should just work fine.

如果依赖 JAR 在您的控制之下,您真的应该尝试使用 SLF4J Migrator 迁移代码工具。

Is it enough to just put the nlog4j in your classpath instead of the log4j-over-slf4j jar?

这可能会解决 ClassNotFoundException 但我想知道整个日志记录将如何工作。鉴于 NLog4J不再积极开发,我想知道这是否是一个很好的长期解决方案。

关于java - 用 LogBack 替换 Log4j 的问题,log4j-over-slf4j.jar 的缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4028703/

相关文章:

python - 将 FastAPI 中的请求记录到项目目录中的特定文件中

logging - 无法使用 log4j2 获取所有记录器

Java 日志查看器

java - jpa映射两个属性

java - 读取 xml - java、dom

java - 为什么要将私有(private)构造函数与静态嵌套类结合使用?

java - 修复 Android 8+ 上的 'background service' 问题

Python Windows 服务 - 日志记录不起作用

python - Python Logging HOWTO 中的 '--log=INFO' 是什么意思

java - Log4j2 环境中单个软件组件的 Logger 对象