【问题标题】:Set logging level in Akka在 Akka 中设置日志记录级别
【发布时间】:2011-07-26 20:54:44
【问题描述】:

我用 Akka 开发了一个财务数据分发服务器,我想为应用程序设置日志记录级别。 akka.io 上的文档充其量只是粗略的。他们说 Akka 中不再有“日志记录”,现在通过事件处理程序定义日志记录。还有一个事件处理程序配置的例子,包括日志级别:

akka {
  event-handlers = ["akka.event.EventHandler$DefaultListener"]
  event-handler-level = "INFO"
}

我这样做了,但尽管 akka.conf 已成功加载,但日志记录似乎仍处于“调试”级别。那里可能有什么问题?

【问题讨论】:

    标签: scala logging akka


    【解决方案1】:

    Akka 似乎使用默认配置的 slf4j/logback 日志记录。所以(从未记录过的)解决方案是把例如类路径中的以下 logback.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration scan="false" debug="false">
      <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
          <pattern>[%4p] [%d{ISO8601}] [%t] %c{1}: %m%n</pattern>
        </encoder>
      </appender>
      <!-- you can also drop it completely -->
      <logger name="se.scalablesolutions" level="DEBUG"/> 
      <root level="INFO">
        <appender-ref ref="stdout"/>
      </root>
    </configuration>
    

    【讨论】:

    • 好的,我终于明白了。 akka.io 上的文档已更新以匹配尚未发布的 1.1 版(很酷,是吗?) 1.0 的文档可在 akka.io/docs/akka-1.0 获得。
    • 除了该链接在主站点不可用,所有文档均参考 1.1。
    • 从主站点可以很容易地访问它,在文档的首页上有一个大文本,上面写着:“1.0 文档:该文档涵盖了 'master' 分支中的最新版本就绪代码存储库。如果你想要 1.0 版本的文档,你可以在这里找到它。 “这里”是 1.0 文档的链接。
    • 我正在使用 Akka 2.3.11 并且有同样的问题......日志级别始终是 DEBUG。这解决了它。 conf文件的编辑没有效果。