java - 如何让 SLF4J 在应用程序中自动注入(inject)我的 Logger 实现?

标签 java log4j slf4j logback

所以我有自己的 org.slf4j.Logger 实现,称为 MyLogger。到目前为止,一切都很好。我有一个使用 SLF4J + LOG4J 的应用程序。这是在 pom.xml 中配置的。

我的问题是:我如何以某种方式让 SLF4J 采用我的 Logger 实现并在任何地方注入(inject)而不是使用 log4j?

我正在寻找有关如何在 SLF4J 实现(log4j、logback、MyLogger 等)之间切换的示例或解释,而无需更改任何代码,只需 pom.xml 配置或其他内容。

最佳答案

SLF4J 将尝试注入(inject)它在类路径中找到的第一个兼容的 Logger (org.slf4j.Logger)。为此,您的日志实现还必须通过返回记录器的 org.slf4j.ILoggerFactory 的实现提供一个 LoggerFactory。更多信息在这里:http://www.slf4j.org/faq.html#slf4j_compatible

关于java - 如何让 SLF4J 在应用程序中自动注入(inject)我的 Logger 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32935426/

相关文章:

java - Log4j2 文件包含 : <include> and <included> similar to Logback

java - 打印多行字符串

java - 如何在 java 的 playframework 中使用 MDC

java - 使用 log4j2 时有没有办法为不同的包使用不同的模式?

java - 在 Java 类中实现的 UML 类图关联

java - TreeMap java 实现 - 放入第一个元素

java - 在java中实现两个可比较项目的排序列表之间的差异

java - Log4j 1.2 多级过滤

java - Apache Spark 工作线程执行器 EXITED,退出状态为 1

java - Log4j SMTP 将错误消息发送到电子邮件