【问题标题】:how to change log levels of 3rd party library in java如何在java中更改第三方库的日志级别
【发布时间】:2018-10-17 23:15:50
【问题描述】:

控制台日志中充斥着来自第 3 部分库的日志。例如,我的项目使用 kafka 和 zooker keeper 客户端库,因为它们的日志太多

  1. 2018-05-08 10:30:38.250 信息 2968 --- [0:0:0:0:1:2181)] org.apache.zookeeper.ClientCnxn : 打开套接字连接 到服务器 0:0:0:0:0:0:0:1/0:0:0:0:0:0:0:1:2181。不会尝试 使用 SASL 进行身份验证(未知错误)

  2. 2018-05-08 10:30:38.309 信息 2968 --- [主要] o.a.k.clients.producer.ProducerConfig :ProducerConfig 值:

    我的项目中有一个 log4j2.xml 文件。更改 xml 文件中的根日志级别只会更改我的项目生成的自定义日志的日志级别。 有没有办法停止或更改这些库的日志

【问题讨论】:

  • 第 3 方库使用什么日志记录 API?日志条目是否进入您的日志文件?如果是这样,并且由于您使用 Log4j2,只需将库的日志级别配置为 WARN 级别,因此 INFO 日志条目不会写入文件。如果您不知道该怎么做,现在是阅读 Log4j2 文档以了解其工作原理的好时机。
  • 所有第 3 方库都在使用 logback。我正在编辑错误的日志配置。感谢您的帮助

标签: java spring logging apache-zookeeper spring-kafka


【解决方案1】:

切换到 Logback 并更改泛洪记录器的日志记录级别。通常,它以其类引用命名。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
 </appender>
 <logger name="flooding logger" level="ERROR" additivity="false">
    <appender-ref ref="STDOUT"/>
 </logger>
 <root level="INFO">
    <appender-ref ref="STDOUT"/>
 </root>
</configuration>

【讨论】:

  • 谢谢。我以为他们在使用 log4j。浪费了这么多天配置错误的xml文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-26
  • 2016-09-15
  • 1970-01-01
  • 2020-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多