21

它是在我们的应用服务器上生成大量日志的第三方应用程序。像这样:

[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 的一些配置,但什么也没有。他们的网站也没有帮助

4

5 回答 5

17

slf4j 只是实际日志后端(此处覆盖 jakarta commons 日志记录)的一个漏斗,您必须配置它以摆脱某种类型的消息。对于 logback,这是适当的配置片段:

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

对于 log4j,它非常相似。

于 2010-03-05T12:36:53.987 回答
14

或者,下载http://www.slf4j.org/dist/slf4j-1.6.4.tar.gz,在那里寻找 slf4j-nop-1.6.4.jar (这是无操作记录器)并包括这个在你的类路径中。当 SLF4J 类加载器看到这一点时(它会查看它可以使用的类路径中有哪些记录器),它应该停止记录(一旦你重新启动了应用程序)。

至少这样你就不需要弄乱日志配置文件了......

于 2012-01-05T19:27:55.540 回答
3

slf4j 是各种日志框架的日志外观。该输出来自 Apache Commons Loggin 框架适配器,它变成了另一个外观。公共日志记录配置

于 2010-03-03T15:12:48.717 回答
3

您正在使用哪个日志记录后端,例如 logback、log4j、jul?您需要配置后端来过滤这些消息。

此外,日志消息指向“ org.slf4j.impl.JCLLoggerAdapter”的事实表明调用方位置推断工作正常。(它应该提到实际的调用者 not JCLLoggerAdapter)。在以下情况下可能会发生这种情况:

  1. 您使用的是旧版本的 SLF4J

或者

  1. 调用者正在使用类似 slf4j 的包装器,或者有自己的本土日志 API,它不能正确推断调用者的位置。另请参阅相关的SLF4J FAQ 条目
于 2010-03-05T12:10:01.280 回答
0

搜索以下字符串:level="DEBUG"using your IDE您将在.xml文件中找到该文本。

去那里使用level="INFO"而不是level="DEBUG".

键值不区分大小写。

可能是这样的:

<root level="info">
    ...
</root>
于 2014-08-21T07:21:56.437 回答