如何关闭SLF4J的日志记录?

2022-09-02 03:17:28

它是一个第三方应用程序,在我们的应用程序服务器上生成大量日志条目。喜欢这个:

[03.03.10 15:21:57:250 CET] 00000180 FtpProtocolHa I org.slf4j.impl.JCLLoggerAdapter info Close connection : 10.227.10.10 - admin
[03.03.10 15:27:35:209 CET] 00000181 MinaFtpProtoc I org.slf4j.impl.JCLLoggerAdapter info [/10.227.10.10] CLOSED
++++

如何关闭 SLF4J 的此输出?我已经在.war文件中查找了SLF4J的一些配置,但什么都没有。他们的网站也没有帮助。


答案 1

slf4j只是实际日志后端的漏斗(这里覆盖雅加达共享资源日志记录),这是您必须配置的一个以摆脱某种类型的消息。对于 logback,这是适当的配置代码段:

    <!--  No Tomcat debug logs -->
    <configuration>
    ...
        <logger name="org.apache.catalina.core" level="OFF" />
    ...
    </configuration>

对于log4j,它非常相似。


答案 2

或者,下载 http://www.slf4j.org/dist/slf4j-1.6.4.tar.gz,在那里查找slf4j-nop-1.6.4.jar(这是无操作记录器),并将其包含在您的类路径中。当 SLF4J 类装入器看到此情况时(它查看它可以使用的类路径中有哪些记录器),它应该停止日志记录(一旦您重新启动了应用程序)。

至少通过这种方式,您不需要弄乱日志配置文件...


推荐