java - 是否有可能获得对 Spring 正在使用的记录器的引用?

标签 java spring logging

根据 Spring Framework 文档,日志记录是 Spring 唯一的强制依赖项。它默认使用 Apache Commons Logging,也可以配置为使用 SLF4J 或 Log4J。我的问题是关于我使用 Spring 编写的应用程序,而不是使用不同的记录器类并在我的应用程序中实例化一个新的记录器对象,是否有可能获得对 Spring 自身使用的记录器的引用?

最佳答案

当然 - 记录器仅按名称引用。因此,如果 Spring 使用“org.springframework.beans.abc”(例如)作为记录器名称,您也可以请求同名的记录器。 (Spring 不会只使用一个记录器/名称进行记录 - 它会使用多个记录器/名称,具体取决于你在 Spring 中使用的是什么 - 它应该这样做。)

但是,我强烈建议不要这样做。实例化一个新的记录器对象的成本应该是最小的——这样做的任何节省都将被这样做的额外困惑所抵消。 Spring 记录到 Spring 记录器名称。您的代码应记录到您的代码唯一的记录器名称。否则,如果记录了某些内容,您如何知道它是来自 Spring 代码还是您的代码?这将完全破坏记录器/类别名称的目的。

关于java - 是否有可能获得对 Spring 正在使用的记录器的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8936070/

相关文章:

java - 使用 myBatis 映射嵌套的 Oracle CURSOR (ResultSet)

spring - 如何在 Spring MVC 中模拟安全上下文以进行测试

java - 使用 SLF4J 时如何动态选择消息的日志记录级别?

android - android 记录器是否在主线程上运行?

Java: "this"关键字的问题

java - 将按键发送到 JTextField

java - JSP 函数输出在错误的位置?为什么?

java - 使用 Spring MVC 的简单文件上传形式的 NullPointerException

java - Spring Security认证管理漏洞

node.js - ExpressWinston 未登录 200 HTTP 响应代码