日志记录配置不适用于 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 的建议以及在包级别调整日志记录。