[英]Akka SLF4J and logback in Scala
我正在嘗試為我的akka actor系統設置一些基本的日志記錄,但到目前為止我只獲取標准日志而不是我添加的日志或輸出文件。 我已經跟蹤了用於日志記錄的akka文檔,並設置了以下內容:
我將這些依賴項添加到build.sbt文件中
"com.typesafe.akka" %% "akka-slf4j" % "2.3.14" "ch.qos.logback" % "logback-classic" % "1.0.9"
我將其添加到application.conf文件中
akka { loggers = ["akka.event.slf4j.Slf4jLogger"] loglevel = "DEBUG" }
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>
這就是我跳躍應該做的日志記錄
import akka.event.Logging val log = Logging(context.system, classOf[TickActor]) log.info("Good Luck!")
我沒有收到標准日志記錄中的失敗消息,也沒有找到與我已有的解決方案有很大不同的其他解決方案。 我已經嘗試過這個問題的建議。 這似乎是我遇到的同樣問題,但這些建議沒有用。 我錯過了一步或配置錯了嗎?
除了缺少的akka.logging-filter
設置外,一切看起來都是正確的。 這里應該是這樣的:
akka {
loggers = ["akka.event.slf4j.Slf4jLogger"]
loglevel = "DEBUG"
logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"
}
這是一個具有相同設置的項目,具有日志記錄功能: application.conf和logback.xml 。
文檔說明:
您需要在Configuration中的loggers元素中啟用Slf4jLogger。 您還可以在此處定義事件總線的日志級別。 可以在SLF4J后端的配置中定義更細粒度的日志級別(例如logback.xml)。 您還應該在logging-filter配置屬性中定義akka.event.slf4j.Slf4jLoggingFilter。 它將在發布到事件總線之前使用后端配置(例如logback.xml)過濾日志事件。
和
警告! 如果將loglevel設置為高於“DEBUG”的級別,則任何DEBUG事件都將在源處過濾掉,並且永遠不會到達日志記錄后端,無論后端如何配置。
你已經照顧好了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.