我尝试在scala中使用log4j和slf4j与akka,我能够获取日志文件。除了akka API之外,我可以在不使用任何外部API的情况下实现相同的功能吗?通过使用akka.event.Logging我能够在控制台中打印日志,但我想将其打印在一个文件中。
我已经尝试在classpath中为我的项目设置log4j.properties文件,当我使用akka.event.Logging时它无法正常工作。
请建议。
答案 0 :(得分:1)
据此http://doc.akka.io/docs/akka/current/java/logging.html 你有3个选择:
akka.event.Logging$DefaultLogger
(stdout,而非生产)akka.event.slf4j.Slf4jLogger
(针对SLF4J的akka记录器)您的案例是2或3(您使用log4j.properties
)。
因此,您应该为文件中的输出正确配置文件log4j.properties
。
并且
akka.event.Logging
,例如:Logging.getLogger(system.eventStream(),“my.string”)org.slf4j.LoggerFactory.getLogger(...)
你的情况是2,如果你在你的akka配置中使用这样的东西:
akka {
loggers = ["akka.event.slf4j.Slf4jLogger"]
loglevel = "DEBUG"
logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"
}