【问题标题】:How to set SLF4J logging appenders for akka ActorSystem's logger如何为 akka ActorSystem 的记录器设置 SLF4J 记录附加程序
【发布时间】:2020-11-30 16:35:56
【问题描述】:

我正在初始化 ActorSystem 使用

implicit val system: ActorSystem = ActorSystem("my-system", config)

并希望使用FileAppenderConsoleAppenders 来登录我的应用程序。

我目前在我的reference.conf 中有以下内容以使用 slf4j 记录器,但我认为我需要将我的附加程序设置为记录器以使日志与我的其他应用程序日志分组。

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 = "DEBUG"

  # 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 = "DEBUG"

  # Filter of log events that is used by the LoggingAdapter before
  # publishing log events to the eventStream.
  logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"

  use-slf4j = on
}

【问题讨论】:

标签: scala logging akka slf4j


【解决方案1】:

logback.xml试试这个?

    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>logs/application.log</file>
        <encoder>
            <pattern>%date [%level] from %logger in %thread - %.-65535msg%n%xException</pattern>
        </encoder>
    </appender>

【讨论】:

  • 有没有办法动态设置日志文件?
  • @benthecarman 你想动态设置什么?如果您想动态切换日志级别,并且不介意 akka-management 依赖项,您可以关注doc.akka.io/docs/akka-management/current/loglevels.html - 添加 akka 管理依赖项,并依赖 loglevel API 端点来更改日志级别。如果它回答了您的问题,请告诉我。
  • 我要动态设置日志文件名
  • @benthecarman 请问为什么?这样做听起来并不常见 - 是因为您想轮换日志吗?
  • 这只是我们在此应用程序中提供的一项功能
猜你喜欢
  • 2017-08-26
  • 2021-01-22
  • 2017-07-09
  • 2021-10-27
  • 1970-01-01
  • 2012-10-08
  • 2015-09-12
  • 1970-01-01
  • 2013-05-19
相关资源
最近更新 更多