我正在使用Logback + SLF4J
爲特性爲akka.actor.ActorLogging
的那些actor執行日誌記錄。但是,當我執行代碼log.error("Error occur!", e)
時,異常e
的堆棧跟蹤未被記錄,但僅打印一行Error occur! WARNING arguments left: 1
。我想知道爲什麼以及如何在日誌文件中打印堆棧跟蹤。謝謝。以下是我的logback.groovy
文件配置。akka.actor.ActorLogging不會記錄異常的堆棧跟蹤logback
appender("FILE", RollingFileAppender) {
file = "./logs/logd.txt"
append = true
rollingPolicy(TimeBasedRollingPolicy) {
fileNamePattern = "./logs/logd.%d{yyyy-MM-dd}.log"
maxHistory = 30
}
encoder(PatternLayoutEncoder) {
pattern = "%date{ISO8601} [%thread] %-5level %logger{36} %X{sourceThread} - %msg%n"
}
}
root(DEBUG, ["FILE"])
我面臨着同樣的問題。作爲一個臨時解決方案,我在所有演員中用'LazyLogging'(由typesafe.scalalogging提供)和'log.'用'logger.'代替'ActorLogging'。但請注意,這樣做會使日誌中的演員地址字符串丟失。所以這可以使用,直到找到真正的解決方案。 – Uniqus 2014-10-28 02:15:21