[英]How to stop Kafka DEBUG logs when Kafka lib is used as Keycloak module
A keycloak module (including a kafka producer) is deployed to "keycloak-4.8.1.Final" server. 将密钥库模块(包括kafka生产者)部署到“ keycloak-4.8.1.Final”服务器。
My Problem : 我的问题 :
Even I used INFO
log level, DEBUG
messages are logging from Kafka library. 即使我使用了
INFO
日志级别, DEBUG
消息也是从Kafka库记录的。 So I want to stop messy Kafka debug logs form Keyclaok log file. 所以我想停止Keyclaok日志文件中混乱的Kafka调试日志。 Can someone PLEASE support me to overcome the issue.
有人可以支持我来解决这个问题。
I suspect there may be a conflict on logging mechanisms used in Keycloak ( jboss-logging ) & Kafka ( slf4j ) it self. 我怀疑Keycloak( jboss-logging )和Kafka( slf4j )本身使用的日志记录机制可能存在冲突。
Sample Log: 样本日志:
10:10:40,642 INFO [stdout] (kafka-producer-network-thread | InternalUserProvisioningProducer) 47473973 [kafka-producer-network-thread | InternalUserProvisioningProducer] DEBUG org.apache.kafka.clients.NetworkClient - [Producer clientId=InternalUserProvisioningProducer] Sending metadata request (type=MetadataRequest, topics=) to node localhost:9092 (id: 0 rack: null)
10:10:40,644 INFO [stdout] (kafka-producer-network-thread | InternalUserProvisioningProducer) 47473975 [kafka-producer-network-thread | InternalUserProvisioningProducer] DEBUG org.apache.kafka.clients.Metadata - Updated cluster metadata version 28 to Cluster(id = 5N8ICZgiS-GewacYHMDtlg, nodes = [localhost:9092 (id: 0 rack: null)], partitions = [])
Kafka lib (in pom.xml
): Kafka lib(在
pom.xml
):
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.12</artifactId>
<version>1.0.1</version>
</dependency>
Keycloak Module config ( module.xml
): Keycloak模块配置(
module.xml
):
<module xmlns="urn:jboss:module:1.5" name="com.my.core.internal-user-authenticator-module">
<properties>
<property name="jboss.api" value="private"/>
</properties>
<resources>
<resource-root path="internal-user-authenticator-module-0.0.1-SNAPSHOT.jar"/>
</resources>
<dependencies>
<module name="org.keycloak.keycloak-core"/>
<module name="org.keycloak.keycloak-common"/>
<module name="org.keycloak.keycloak-services"/>
<module name="org.keycloak.keycloak-server-spi"/>
<module name="org.keycloak.keycloak-server-spi-private"/>
<module name="javax.api"/>
<module name="javax.ws.rs.api"/>
<module name="javax.persistence.api"/>
<module name="org.jboss.resteasy.resteasy-jaxrs"/>
<module name="com.sun.xml.bind"/>
<module name="javax.xml.bind.api"/>
<module name="org.jboss.resteasy.resteasy-jaxb-provider"/>
<module name="org.wildfly.security.elytron"/>
<module name="org.bouncycastle"/>
<module name="com.fasterxml.jackson.core.jackson-core" export="true"/>
<module name="com.fasterxml.jackson.core.jackson-databind" export="true"/>
</dependencies>
keycloak logging config (in standalone.xml
): keycloak日志记录配置(在
standalone.xml
):
<subsystem xmlns="urn:jboss:domain:logging:6.0">
<console-handler name="CONSOLE">
<level name="INFO"/>
<formatter>
<named-formatter name="COLOR-PATTERN"/>
</formatter>
</console-handler>
<periodic-rotating-file-handler name="FILE" autoflush="true">
<formatter>
<named-formatter name="PATTERN"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<logger category="com.arjuna">
<level name="WARN"/>
</logger>
<logger category="org.jboss.as.config">
<level name="DEBUG"/>
</logger>
<logger category="sun.rmi">
<level name="WARN"/>
</logger>
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
</handlers>
</root-logger>
<formatter name="PATTERN">
<pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
</formatter>
<formatter name="COLOR-PATTERN">
<pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
</formatter>
</subsystem>
Thank you. 谢谢。
You need to also make sure that the log level on the producer side is set to INFO
as well. 您还需要确保生产者端的日志级别也设置为
INFO
。 In log4j.properties
file you should have something similar to 在
log4j.properties
文件中,您应该有类似以下内容
log4j.rootLogger=INFO, stderr
log4j.appender.stderr=org.apache.log4j.ConsoleAppender
log4j.appender.stderr.layout=org.apache.log4j.PatternLayout
log4j.appender.stderr.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.appender.stderr.Target=System.err
And pass this file to your Kafka Producer: 并将此文件传递给您的Kafka Producer:
-Dlog4j.configuration=file:/path/to/log4j.properties
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.