我有一个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
我尝试的其他一些方法是,
有人可以帮我解决这个问题。 感谢
答案 0 :(得分:2)
java的参数应如下所示。
java -Dlogback.configurationFile=/tmp/logback.xml com.test.SampleProj
答案 1 :(得分:0)
就我而言,上述解决方案还不够。我的问题是默认情况下未读取logback.xml
文件。
我相信http://www.scala-sbt.org/0.13/docs/Setup-Notes.html提供的解决方案通过指定文件编码有效,最好从shell进行修复。
在我的shell中,运行以下命令:
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales
此后,logback.xml
被正确读取。