这是一个第三方应用程序,在我们的应用服务器上生成大量日志条目。如下所示:
[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的配置,但什么都没有。他们的网站也没有帮助。
6条答案
按热度按时间klsxnrf11#
slf4j只是一个到实际日志后端的通道(这里覆盖jakarta commons logging),这是你必须配置的一个,以摆脱某种类型的消息。对于logback,这是你的
logback.xml
配置文件中的适当配置片段:对于log4j,情况非常相似。
camsedfj2#
或者,下载http://www.slf4j.org/dist/slf4j-1.6.4.tar.gz,查找slf4j-nop-1.6.4.jar(这是无操作日志记录器),并将其包含在类路径中,当SLF 4J类加载器看到它时(它查看类路径中有哪些日志记录器可以使用),它应该停止日志记录(一旦重启应用)。
至少这样你就不需要弄乱日志配置文件了。
8cdiaqws3#
slf4j是各种日志框架的日志facade。输出来自Apache Commons Loggin框架适配器,它变成了另一个facade。Commons Logging Configuration。
8fsztsew4#
您使用的是哪个日志后端,例如logback、log4j、j.u.l.?您需要配置后端来过滤这些消息。
此外,日志消息指向“
org.slf4j.impl.JCLLoggerAdapter
”的事实表明调用者位置推断 * 未 * 正确工作。(它应该提到实际调用者而不是JCLLoggerAdapter
)。如果出现以下情况,则可能发生这种情况:1.您正在使用旧版本的SLF4J
或
1.调用者正在使用类似slf4j的 Package 器,或者有自己的日志API,这不能正确地推断调用者的位置。2请参见相关的SLF4J FAQ条目。
vwhgwdsa5#
正如@sparkyspider answer所述,您可以简单地将 * slf 4j-nop * 库添加到应用程序中。
如果使用Maven,请将以下内容添加到 * pom.xml * 文件中:
如果使用Gradle,请将以下内容添加到 build.gradle[.kts] 文件中:
b5lpy0ml6#
搜索以下字符串:
level="DEBUG"
使用您的IDE。您将在**.xml**文件中找到该文本。使用
level="INFO"
代替level="DEBUG"
。键值不区分大小写。
可以有如下内容: