当通过 JVM 参数传递时,scala 项目不采用 logback xml 配置
scala project is not taking logback xml configuration when passed via JVM argument
我有一个 scala 项目,我在其中使用 scala-slf4j 日志记录和 logback。当项目通过命令行执行如下
java -jar <sample_project.jar> -Dlogback.configurationFile=/tmp/logback.xml
它将记录器 class 用作“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 并执行主要 class,如下所示
java com.test.SampleProj -Dlogback.configurationFile=/tmp/logback.xml
我试过的其他一些方法是,
- 设置class路径并放置logbackxml
- 传递为“-Dlogger.file=/tmp/logger.xml”
- 传递为 -Dlogger.resource=/tmp/logger.xml
谁能帮我解决这个问题。
谢谢
java 的参数应如下所示。
java -Dlogback.configurationFile=/tmp/logback.xml com.test.SampleProj
就我而言,上述解决方案还不够。我的问题是默认情况下未读取 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
被正确读取。
我有一个 scala 项目,我在其中使用 scala-slf4j 日志记录和 logback。当项目通过命令行执行如下
java -jar <sample_project.jar> -Dlogback.configurationFile=/tmp/logback.xml
它将记录器 class 用作“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 并执行主要 class,如下所示
java com.test.SampleProj -Dlogback.configurationFile=/tmp/logback.xml
我试过的其他一些方法是,
- 设置class路径并放置logbackxml
- 传递为“-Dlogger.file=/tmp/logger.xml”
- 传递为 -Dlogger.resource=/tmp/logger.xml
谁能帮我解决这个问题。 谢谢
java 的参数应如下所示。
java -Dlogback.configurationFile=/tmp/logback.xml com.test.SampleProj
就我而言,上述解决方案还不够。我的问题是默认情况下未读取 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
被正确读取。