日志记录配置不适用于 Akka
Logging Configuration Not Working for Akka
我在配置 Akka 日志时遇到问题。在我的 STDOUT 中,它没有隐藏 DEBUG 消息。在我的控制台中,我看到了这个:
12:45:27.790 [example-akka.kafka.default-dispatcher-18] DEBUG org.apache.kafka.clients.consumer.KafkaConsumer - [Consumer clientId=consumer-1, groupId=group1] Resuming partitions [test-topic-0]
12:45:27.823 [example-akka.kafka.default-dispatcher-18] DEBUG org.apache.kafka.clients.FetchSessionHandler - [Consumer clientId=consumer-1, groupId=group1] Node 1001 sent an incremental fetch response for session 1829476633 with 0 response partition(s), 1 implied partition(s)
所以我需要停止查看 DEBUG 消息。我这样记录日志:
akka {
# Loggers to register at boot time (akka.event.Logging$DefaultLogger logs
# to STDOUT)
loggers = ["akka.event.slf4j.Slf4jLogger"]
# Log level used by the configured loggers (see "loggers") as soon
# as they have been started; before that, see "stdout-loglevel"
# Options: OFF, ERROR, WARNING, INFO, DEBUG
loglevel = "INFO"
# Log level for the very basic logger activated during ActorSystem startup.
# This logger prints the log messages to stdout (System.out).
# Options: OFF, ERROR, WARNING, INFO, DEBUG
stdout-loglevel = "INFO"
}
在我的 logback.xml 中,我正在写这个:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date{ISO8601} level=[%level] marker=[%marker] logger=[%logger] akkaSource=[%X{akkaSource}]
sourceActorSystem=[%X{sourceActorSystem}] sourceThread=[%X{sourceThread}] mdc=[ticket-#%X{ticketNumber}:
%X{ticketDesc}] - msg=[%msg]%n----%n
</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
为什么不停止 DEBUG 消息?
我的项目结构
src -> main -> scala(这里是我在 Scala 中的源文件)
src -> main -> scala -> 资源(这里是我的 lokback.xml 和 appliction.conf)
日志级别可以配置at package level,例如在logback.xml
中加入如下内容
<logger name="org.apache.kafka" level="INFO"/>
将 org.apache.kafka
包内的所有组件的日志级别设置为 INFO
,这应该会停止 DEBUG
消息。
您的 sbt 项目结构不正确。这应该是正确的结构:
src/
main/
resources/
<files to include in main jar here>
scala/
<main Scala sources>
java/
<main Java sources>
test/
resources
<files to include in test jar here>
scala/
<test Scala sources>
java/
<test Java sources>
那么您还需要遵循@Mario 的建议以及在包级别调整日志记录。
我在配置 Akka 日志时遇到问题。在我的 STDOUT 中,它没有隐藏 DEBUG 消息。在我的控制台中,我看到了这个:
12:45:27.790 [example-akka.kafka.default-dispatcher-18] DEBUG org.apache.kafka.clients.consumer.KafkaConsumer - [Consumer clientId=consumer-1, groupId=group1] Resuming partitions [test-topic-0]
12:45:27.823 [example-akka.kafka.default-dispatcher-18] DEBUG org.apache.kafka.clients.FetchSessionHandler - [Consumer clientId=consumer-1, groupId=group1] Node 1001 sent an incremental fetch response for session 1829476633 with 0 response partition(s), 1 implied partition(s)
所以我需要停止查看 DEBUG 消息。我这样记录日志:
akka {
# Loggers to register at boot time (akka.event.Logging$DefaultLogger logs
# to STDOUT)
loggers = ["akka.event.slf4j.Slf4jLogger"]
# Log level used by the configured loggers (see "loggers") as soon
# as they have been started; before that, see "stdout-loglevel"
# Options: OFF, ERROR, WARNING, INFO, DEBUG
loglevel = "INFO"
# Log level for the very basic logger activated during ActorSystem startup.
# This logger prints the log messages to stdout (System.out).
# Options: OFF, ERROR, WARNING, INFO, DEBUG
stdout-loglevel = "INFO"
}
在我的 logback.xml 中,我正在写这个:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date{ISO8601} level=[%level] marker=[%marker] logger=[%logger] akkaSource=[%X{akkaSource}]
sourceActorSystem=[%X{sourceActorSystem}] sourceThread=[%X{sourceThread}] mdc=[ticket-#%X{ticketNumber}:
%X{ticketDesc}] - msg=[%msg]%n----%n
</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
为什么不停止 DEBUG 消息?
我的项目结构
src -> main -> scala(这里是我在 Scala 中的源文件) src -> main -> scala -> 资源(这里是我的 lokback.xml 和 appliction.conf)
日志级别可以配置at package level,例如在logback.xml
<logger name="org.apache.kafka" level="INFO"/>
将 org.apache.kafka
包内的所有组件的日志级别设置为 INFO
,这应该会停止 DEBUG
消息。
您的 sbt 项目结构不正确。这应该是正确的结构:
src/
main/
resources/
<files to include in main jar here>
scala/
<main Scala sources>
java/
<main Java sources>
test/
resources
<files to include in test jar here>
scala/
<test Scala sources>
java/
<test Java sources>
那么您还需要遵循@Mario 的建议以及在包级别调整日志记录。