如何让 SLF4J 在应用程序中自动注入我的 Logger 实现?
How can I make my Logger implementation be automatically injected by SLF4J in an application?
所以我有自己的 org.slf4j.Logger
实现,称为 MyLogger。到目前为止,一切都很好。我有一个使用 SLF4J + LOG4J 的应用程序。这是在 pom.xml.
中配置的
我的问题是:我如何以某种方式让 SLF4J 采用我的 Logger 实现并在任何地方注入而不是使用 log4j?
我正在寻找有关如何在 SLF4J 实现(log4j、logback、MyLogger 等)之间切换的示例或解释,而无需更改任何代码,只需 pom.xml 配置或其他内容。
SLF4J 将尝试注入它在类路径中找到的第一个兼容的记录器 (org.slf4j.Logger
)。为此,您的日志实现还必须通过 org.slf4j.ILoggerFactory
的实现提供一个 LoggerFactory,即 returns 您的记录器。更多信息在这里:http://www.slf4j.org/faq.html#slf4j_compatible
所以我有自己的 org.slf4j.Logger
实现,称为 MyLogger。到目前为止,一切都很好。我有一个使用 SLF4J + LOG4J 的应用程序。这是在 pom.xml.
我的问题是:我如何以某种方式让 SLF4J 采用我的 Logger 实现并在任何地方注入而不是使用 log4j?
我正在寻找有关如何在 SLF4J 实现(log4j、logback、MyLogger 等)之间切换的示例或解释,而无需更改任何代码,只需 pom.xml 配置或其他内容。
SLF4J 将尝试注入它在类路径中找到的第一个兼容的记录器 (org.slf4j.Logger
)。为此,您的日志实现还必须通过 org.slf4j.ILoggerFactory
的实现提供一个 LoggerFactory,即 returns 您的记录器。更多信息在这里:http://www.slf4j.org/faq.html#slf4j_compatible