记录配置不适用于Akka

问题描述 投票:1回答:2

我在使用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 - > resources(这里是我的lokback.xml和appliction.conf)

scala logging apache-kafka akka slf4j
2个回答
1
投票

您的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的建议以及在包级别调整日志记录。


1
投票

例如,可以将日志级别配置为at package level,将以下内容添加到logback.xml

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

INFO包中的所有组件设置日志级别为org.apache.kafka,这应该停止DEBUG消息。

© www.soinside.com 2019 - 2024. All rights reserved.