首页 > 解决方案 > 如何在 Java 中更改 3rd 方库的日志级别

问题描述

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

  1. 2018-05-08 10:30:38.250 INFO 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 INFO 2968 --- [主要] Oakclients.producer.ProducerConfig:ProducerConfig 值:

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

标签: javaspringloggingapache-zookeeperspring-kafka

解决方案


切换到 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>

推荐阅读