7

Akka に Play のログバック設定 (application-logger.xml) を認識させるにはどうすればよいですか?
私の場合、それは完全に無視されます:

ログは stdout にのみ出力されます。application-logger.xml で定義されている File-Appender にログが記録されることを期待しています

application-logger.xml の名前を logback.xml に変更しても違いはありません。

アクタークラス:

class Dispatcher extends Actor with ActorLogging {
    // prints to stdout ONLY:
    log.error("[akka-logger] dispatch started...")
}

conf/application.conf:

play {
  akka {

    #log-config-on-start = on
    loggers = ["akka.event.slf4j.Slf4jLogger"]
    event-handlers = ["akka.event.slf4j.Slf4jEventHandler"]    
    loglevel = DEBUG

    # and so on...
}

conf/application-logger.xml

<configuration>

<appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>${application.home}/logs/application.log</file>
    <encoder>
        <pattern>%date - [%level] - from %logger in %thread %n%message%n%xException%n</ pattern>
    </encoder>
</appender>
<!-- Using akka.event.slf4j.EventHandler does NOT make a difference here: -->
<logger name="akka.event.slf4j.Slf4jLogger" level="ERROR" additivity="false">
    <appender-ref ref="FILE"/>
</logger>

<logger name="play" level="ERROR" additivity="false">
    <appender-ref ref="FILE"/>
</logger>

<logger name="application" level="ERROR" additivity="false">
    <appender-ref ref="FILE"/>
</logger>

<root level="ERROR">
    <appender-ref ref="STDOUT"/>
    <appender-ref ref="FILE"/>
</root>

</configuration>
4

2 に答える 2

-1

play が logback に使用するデフォルトのファイル名はlogger.xml-リファレンスを参照してください。ルート レベルをエラーからデバッグに変更して、ルート レベルですべてのログ メッセージを確実に取得することもできます。

于 2013-04-17T09:43:33.107 に答える