我曾嘗試使用log4j和slf4j與scala中的akka,我能夠獲取日誌文件。如果不使用akka API以外的任何外部API,我可以實現相同的功能嗎?通過使用akka.event.Logging我可以在控制檯中打印日誌,但我想將其打印在文件中。我們可以使用akka.event.Logging在文件中寫入日誌嗎?
我已經嘗試在classpath中爲我的項目設置log4j.properties文件,並且在我使用akka.event.Logging時它不工作。
請建議。
我曾嘗試使用log4j和slf4j與scala中的akka,我能夠獲取日誌文件。如果不使用akka API以外的任何外部API,我可以實現相同的功能嗎?通過使用akka.event.Logging我可以在控制檯中打印日誌,但我想將其打印在文件中。我們可以使用akka.event.Logging在文件中寫入日誌嗎?
我已經嘗試在classpath中爲我的項目設置log4j.properties文件,並且在我使用akka.event.Logging時它不工作。
請建議。
因此這個http://doc.akka.io/docs/akka/current/java/logging.html 你有3種選擇:
akka.event.Logging$DefaultLogger
(到stdout,而不是用於生產)akka.event.slf4j.Slf4jLogger
(由阿卡的SLF4J記錄器)您的情況是2或3(您使用log4j.properties
)。 因此,您應該正確配置文件log4j.properties
以便在文件中輸出。 而
akka.event.Logging
,例如:Logging.getLogger(system.eventStream(), 「my.string」)org.slf4j.LoggerFactory.getLogger(...)
你的情況是2,如果您在阿卡的配置是這樣的使用方法:
akka {
loggers = ["akka.event.slf4j.Slf4jLogger"]
loglevel = "DEBUG"
logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"
}
這個配置做?我做了你提到的以下配置,但我仍然無法獲取日誌文件。 log4j.rootLogger = INFO,文件 log4j.appender.file = org.apache.log4j.DailyRollingFileAppender log4j.appender.file.layout = org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern = [%d] [%p] [%c {1}] [%t] - %m%n log4j.appender.file.file ='。'yyyy-MM-dd log4j.appender.file.file = D:\\ scalalogfile.log –
我能看到我的控制檯中的日誌,但沒有創建日誌文件。 –
它現在正在工作,但我在logback.xml中配置了.... log4j.properties不起作用。 –
你有沒有配置阿卡accordingl? http://doc.akka.io/docs/akka/current/java/logging.html – rethab
是的,我根據這個配置doc.akka.io/docs/akka/current/scala/logging.html –