Sto utilizzando Logback + SLF4J
per la registrazione per quegli attori con tratto di akka.actor.ActorLogging
. Tuttavia, quando eseguo il codice log.error("Error occur!", e)
, la traccia dello stack dell'eccezione e
non viene registrata, ma stampa solo una riga di Error occur! WARNING arguments left: 1
. Mi chiedo perché e come stampare la traccia dello stack nel file di registro. Grazie. Quanto segue è la mia configurazione di file logback.groovy
.akka.actor.ActorLogging non registra la traccia di eccezioni dello stack tramite la registrazione
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"])
Ho affrontato lo stesso problema. Come soluzione temporanea ho appena sostituito 'ActorLogging' con' LazyLogging' (fornito da typesafe.scalalogging) e 'log' con' logger' in tutti i miei attori. Ma sappi che così facendo perderai la stringa di indirizzo dell'attore nel registro. Quindi questo potrebbe essere usato fino a quando non viene trovata la soluzione reale. – Uniqus