the*_*tch 7 logging scala logback slf4j akka
我正在尝试为我的akka actor系统设置一些基本的日志记录,但到目前为止我只获取标准日志而不是我添加的日志或输出文件.我已经跟踪了用于日志记录的akka文档,并设置了以下内容:
我将这些依赖项添加到build.sbt文件中
"com.typesafe.akka" %% "akka-slf4j" % "2.3.14"
"ch.qos.logback" % "logback-classic" % "1.0.9"
Run Code Online (Sandbox Code Playgroud)我将其添加到application.conf文件中
akka {
loggers = ["akka.event.slf4j.Slf4jLogger"]
loglevel = "DEBUG"
}
Run Code Online (Sandbox Code Playgroud)logback.xml位于src/main/resources中
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<File>./logs/akka.log</File>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%-5level] %msg%n</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="FILE" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)这就是我跳跃应该做的日志记录
import akka.event.Logging
val log = Logging(context.system, classOf[TickActor])
log.info("Good Luck!")
Run Code Online (Sandbox Code Playgroud)我没有收到标准日志记录中的失败消息,也没有找到与我已有的解决方案有很大不同的其他解决方案.我已经尝试过这个问题的建议.这似乎是我遇到的同样问题,但这些建议没有用.我错过了一步或配置错了吗?
除了丢失的akka.logging-filter设置外,一切看起来都很正确.这里应该是这样的:
akka {
loggers = ["akka.event.slf4j.Slf4jLogger"]
loglevel = "DEBUG"
logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"
}
Run Code Online (Sandbox Code Playgroud)
这是一个具有相同设置的项目,具有日志记录功能:application.conf和logback.xml.
文档说明:
您需要在Configuration中的loggers元素中启用Slf4jLogger.您还可以在此处定义事件总线的日志级别.可以在SLF4J后端的配置中定义更细粒度的日志级别(例如logback.xml).您还应该在logging-filter配置属性中定义akka.event.slf4j.Slf4jLoggingFilter.它将在发布到事件总线之前使用后端配置(例如logback.xml)过滤日志事件.
和
警告!如果将loglevel设置为高于"DEBUG"的级别,则任何DEBUG事件都将在源处过滤掉,并且永远不会到达日志记录后端,无论后端如何配置.
你已经照顾好了.
| 归档时间: |
|
| 查看次数: |
2856 次 |
| 最近记录: |