【发布时间】:2016-12-25 13:32:32
【问题描述】:
我有一个 scala 项目,我在其中使用 scala-slf4j 日志记录和 logback。当项目通过如下命令行执行时
java -jar <sample_project.jar> -Dlogback.configurationFile=/tmp/logback.xml
它使用 logger 类作为 'ch.qos.logback.classic.Logger' 但不采用 logback.xml 配置。
如果我将 logback 配置 xml 放在 /src/main/resources 下,同样可以正常工作。
import org.slf4j.LoggerFactory
object SampleProj {
val logger = LoggerFactory.getLogger(this.getClass)
logger.info("SCALA Logging")
}
build.sbt
"ch.qos.logback" % "logback-classic" % "1.1.2",
"com.typesafe.scala-logging" %% "scala-logging-slf4j" % "2.1.2",
另一种尝试的方法是提取scala项目jar并执行如下主类
java com.test.SampleProj -Dlogback.configurationFile=/tmp/logback.xml
我尝试过的其他一些方法是,
- 设置类路径并放回logback xml
- 作为“-Dlogger.file=/tmp/logger.xml”传递
- 作为 -Dlogger.resource=/tmp/logger.xml 传递
谁能帮我解决这个问题。 谢谢
【问题讨论】:
-
您是否尝试过设置文件编码? scala-sbt.org/0.13/docs/Setup-Notes.html 另外,您是否收到任何警告/错误?
-
感谢您的回复。@NathanielFord。它现在可以工作了。
-
这有帮助吗?还是你还卡着? @Gopi
-
VM 参数需要像这样传递。 java com.test.SampleProj -Dlogback.configurationFile=/tmp/logback.xml
标签: scala logging sbt logback slf4j