2016-08-18 67 views
1

我有一个scala项目,我使用scala-slf4j日志记录和logback。当项目经由命令行如下当通过JVM参数传递scala项目没有采取logback xml配置

java -jar <sample_project.jar> -Dlogback.configurationFile=/tmp/logback.xml 

执行它使用记录器类为“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", 

其试图提取阶项目罐和执行的主类,如下

java com.test.SampleProj -Dlogback.configurationFile=/tmp/logback.xml 

一些其他方法我尝试的另一种方法是,

  1. 设置类路径,并把的logback XML
  2. 传递为 “-Dlogger.file =/TMP/logger.xml
  3. 传递为-Dlogger.resource =/TMP/logger.xml

有人可以帮助我解决这个问题。 谢谢

+0

您是否尝试过设置文件编码? http://www.scala-sbt.org/0.13/docs/Setup-Notes.html另外,你是否收到任何警告/错误? –

+0

感谢您的回复。@ NathanielFord。它现在工作。 – Gopi

+0

这有帮助吗?还是你仍然坚持? @Gopi –

回答

1

对java的参数应该如下。

java -Dlogback.configurationFile=/tmp/logback.xml com.test.SampleProj