spring kafka - 手动设置消费者日志级别(spring 5)

gan*_*045 5 java spring slf4j apache-kafka spring-kafka

我们正在研究spring项目并spring-kafka最近整合。它按预期工作,我们能够正确地生成和使用消息。

但是,当我们将项目转移到PROD时,我们收到了DEBUG级别的日志语句,并且语句数量已不堪重负。我们正在尝试将Kafka 日志的日志记录级别设置为 WARN 或 ERROR。

在过程中,我们logback.xml按照下面的文章添加(添加在主/资源中)但没有运气,还尝试了我们在互联网上遇到的其他解决方案。(添加log4j.propertieslog4j2.xml

日志记录文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration name="default">

    <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="org.apache.kafka"                 level="error" />
    <logger name="org.apache.kafka.common.metrics"  level="error"/>
    <logger name="org.apache.kafka.clients"         level="error"/>
    <logger name="org.apache.kafka.clients.consumer.internals"          level="error"/>
    <logger name="org.apache.kafka.clients.consumer.internals.Fetcher"  level="error"/>
     
    <root level="error" name="org.apache.kafka" additivity="false">
        <appender-ref ref="STDOUT" />
    </root> 
    
</configuration>
Run Code Online (Sandbox Code Playgroud)

示例日志:

[org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1] INFO org.apache.kafka.clients.Metadata - [Consumer clientId=client-01, groupId=publisher] Cluster ID: Udhjf-fdbfds
[org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1] INFO org.apache.kafka.clients.consumer.internals.AbstractCoordinator - [Consumer clientId=client-01, groupId=publisher] Discovered group coordinator 127.....0 (id: 65654654654 rack: null)
[org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1] INFO org.apache.kafka.clients.consumer.internals.AbstractCoordinator -  [Consumer clientId=client-01, groupId=publisher] (Re-)joining group
[WebSphere non-WLM Dispatch Thread t=008abcf0] WARN org.apache.kafka.clients.consumer.ConsumerConfig - The configuration 'schema.registry.url' was supplied but isn't a known config.
[WebSphere non-WLM Dispatch Thread t=008abcf0] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka version: 2.7.1
[WebSphere non-WLM Dispatch Thread t=008abcf0] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka commitId: 616tyu85d0d567566
Run Code Online (Sandbox Code Playgroud)

任何遇到类似情况或任何线索的人都会非常有帮助。提前致谢。:)

gan*_*045 0

迟到的回答,但可能对某人有帮助。

我们在同一个logback.xml文件中做了一些更改,并添加了log4j2.xml以使其在我们的应用程序中工作。以下是这两个文件的更改,请尝试一下。

日志记录文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration name="default">
   <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="org.apache.log4j.xml"            level="error"/>
  <logger name="org.apache.http"                 level="error" />
  <logger name="org.apache.http.wire"            level="error"/>
  <logger name="org.apache.commons.httpclient"   level="error"/>
  
  <logger name="org.springframework" level="error">
      <appender-ref ref="STDOUT" />
  </logger> 
  
  <logger name="org.springframework.kafka" level="error" additivity="false">
      <appender-ref ref="STDOUT" />
  </logger>

  <logger name="org.apache.kafka" level="info" additivity="false">
      <appender-ref ref="STDOUT" />
  </logger>
   
  <root level="error">
      <appender-ref ref="STDOUT" />
  </root> 

</configuration>
Run Code Online (Sandbox Code Playgroud)

log4j2.xml

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">  
<log4j:configuratio xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">  

   <appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">  
       <layout class="org.apache.log4j.PatternLayout">  
          <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />  
       </layout>  
   </appender>  

   <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">  
       <param name="append" value="true" />  
       <param name="maxFileSize" value="10MB" />  
       <param name="maxBackupIndex" value="10" />  
       <param name="file" value="${catalina.home}/logs/myStruts1App.log" />  
       <layout class="org.apache.log4j.PatternLayout">  
          <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />  
       </layout>  
   </appender>  

   <logger name="org.springframework">
      <level value="error" />
   </logger>

   <logger name="org.springframework.kafka">
      <level value="error" />
   </logger>

   <logger name="org.apache.http">
      <level value="warn" />
   </logger>
   
   <logger name="org.apache.http.wire">
      <level value="warn" />
   </logger>

   <logger name="org.apache.commons.httpclient">
      <level value="warn" />
   </logger>

   <logger name="org.apache.kafka">
      <level value="error" />
   </logger>

   <root>  
       <!-- DEBUG level for all other loggers -->
       <priority value="debug" />  
       <appender-ref ref="consoleAppender" />  
       <appender-ref ref="fileAppender" />  
   </root>  

</log4j:configuration>  
Run Code Online (Sandbox Code Playgroud)

我们可以观察到与可加性相关的一些变化,尝试查看下面的文章以了解更多信息。