Bla*_*man 3 scala akka playframework
我的记录在我的播放代码中工作正常,但我拥有的 akka 代码没有记录到文件/标准输出。
class EmailActor extends Actor with ActorLogging {
import EmailActor._
log.info("email actor hatched..")
...
}
Run Code Online (Sandbox Code Playgroud)
当我创建这个 actor 时,我在日志文件或标准输出中都看不到日志条目。
我有这个激活器模板的默认 application.conf:https : //github.com/playframework/play-scala/blob/master/conf/logback.xml
我需要用一些 akka 标签修改我的 logback 文件吗?
更新
我现在已经在我的 application.conf 中做到了这一点:
akka {
loggers = ["akka.event.slf4j.Slf4jLogger"]
#loggers = ["akka.event.Logging$DefaultLogger"]
loglevel = "DEBUG"
logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"
actor {
debug {
lifecycle = on
}
}
}
Run Code Online (Sandbox Code Playgroud)
在我的依赖项中,我添加了这个(并且都添加到了我的播放应用程序的 dep):
val akkaSlf4j = "com.typesafe.akka" %% "akka-slf4j" % Version.akkaSlf4j
val logback = "ch.qos.logback" % "logback-classic" % Version.logback
Run Code Online (Sandbox Code Playgroud)
我的 logback.xml 看起来像:
<!-- https://www.playframework.com/documentation/latest/SettingsLogger -->
<configuration>
<conversionRule conversionWord="coloredLevel" converterClass="play.api.libs.logback.ColoredLevel" />
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${application.home:-.}/logs/application.log</file>
<encoder>
<pattern>%date [%level] from %logger in %thread - %message%n%xException</pattern>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%coloredLevel %logger{15} - %message%n%xException{10}</pattern>
</encoder>
</appender>
<appender name="ASYNCFILE" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="FILE" />
</appender>
<appender name="ASYNCSTDOUT" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="STDOUT" />
</appender>
<logger name="play" level="INFO" />
<logger name="application" level="DEBUG" />
<!-- Off these ones as they are annoying, and anyway we manage configuration ourselves -->
<logger name="com.avaje.ebean.config.PropertyMapLoader" level="OFF" />
<logger name="com.avaje.ebeaninternal.server.core.XmlConfigLoader" level="OFF" />
<logger name="com.avaje.ebeaninternal.server.lib.BackgroundThread" level="OFF" />
<logger name="com.gargoylesoftware.htmlunit.javascript" level="OFF" />
<root level="WARN">
<appender-ref ref="ASYNCFILE" />
<appender-ref ref="ASYNCSTDOUT" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我在 STDOUT 或我使用 ActorLogging 日志方法创建的日志文件中没有看到任何与 akka 相关的日志。
注意你的 logback.xml 有这行,
<logger name="play" level="INFO" />
Run Code Online (Sandbox Code Playgroud)
这允许loger_name等于“play”的记录器在 INFO 级别记录。
同样,您需要将以下内容添加到 logback.xml,
<logger name="akka.event.slf4j.Slf4jLogger" level="DEBUG" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1373 次 |
| 最近记录: |