加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – akka.actor.ActorLogging不会通过logback记录异常的堆

发布时间:2020-12-16 19:09:49 所属栏目:安全 来源:网络整理
导读:我正在使用Logback SLF4J为那些具有特征akka.actor.ActorLogging的actor进行日志记录.但是,当我执行代码log.error(“Error occurred
我正在使用Logback SLF4J为那些具有特征akka.actor.ActorLogging的actor进行日志记录.但是,当我执行代码log.error(“Error occurred!”,e)时,异常e的堆栈跟踪不会被记录,但只会打印出一行错误!警告参数:1.我想知道为什么以及如何在日志文件中打印堆栈跟踪.谢谢.以下是我的logback.groovy文件配置.

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"])

解决方法

Akka有单独的日志记录,在Akka的application.conf中配置.如果你想桥接到SLF4J / Logback – 使用以下设置:

akka {
  loggers = ["akka.event.slf4j.Slf4jLogger"]
  loglevel = "DEBUG"
}

见:http://doc.akka.io/docs/akka/2.0/scala/logging.html

据我所知,here,reason(Throwable)应该是log.error的第一个参数:

def error(cause: Throwable,message: String)

这就是你看到“警告参数”的原因 – 你的Throwable参数被忽略了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读