Java 如何为JAR应用程序配置logback.xml?
我正在编写Scala应用程序,使用logback进行日志记录。我想配置logback,这样当我运行我的应用程序JAR文件时,我可以得到一个日志文件。这是我当前的配置,无法生成任何日志文件Java 如何为JAR应用程序配置logback.xml?,java,scala,logback,Java,Scala,Logback,我正在编写Scala应用程序,使用logback进行日志记录。我想配置logback,这样当我运行我的应用程序JAR文件时,我可以得到一个日志文件。这是我当前的配置,无法生成任何日志文件 <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{H
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<!-- path to your log file, where you want to store logs -->
<file>./log/test.log</file>
<append>false</append>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
</configuration>
谢谢检查日志配置文件是否位于main/src/resources中并命名为logback.xml这是默认路径 如果logback.xml位于其他位置,请在build.sbt文件中指定路径:
resourceDirectory in Compile := baseDirectory.value / "yourFilePath"
运行sbt run时,请检查target/scala.xx/classes文件夹中是否存在xx.xml文件
使用sbt汇编插件或包构建jar并执行
java -Dlogback.configurationFile=xx.xml -Dfile.ending=UTF8 -cp $SCALA_HOME/lib/scala-library.jar -jar myProject.jar -Dconfig.file=application.conf
您的logback.xml是否在类路径中?请使用标准输出打印输出找出可执行文件的路径。很可能正在创建日志文件,但它位于您不期望的文件夹中。请尝试设置绝对路径:/log/test.log。然后再次运行并检查?@Berger:噢,我在编写代码时将其放在resources目录下,但在运行应用程序时,我并没有将logback.xml附加到类路径。那是我的名字吗problem@MichaelKarnerfors:我使用
scala-classpath
来运行应用程序,那么应该在哪里创建日志文件呢?
java -Dlogback.configurationFile=xx.xml -Dfile.ending=UTF8 -cp $SCALA_HOME/lib/scala-library.jar -jar myProject.jar -Dconfig.file=application.conf