如何使用JAR外部的logback.xml创建日志文件?

时间:2015-09-03 07:02:28

标签: java jar logback

我在JAR之外创建日志文件时遇到问题。

Project Structure

./ – the root of my project
|__ api.jar ( logback.xml inside this jar )
|__ /logs
    |__ ( log files need to be generated )

我在logback.xml中有以下配置。

<configuration>
<appender name="FILE"
    class="ch.qos.logback.core.rolling.RollingFileAppender">

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- daily rollover -->
        <fileNamePattern>./logs/filename.%d{yyyy-MM-dd}.%i.log
        </fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy
            class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>5MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
        <!-- keep 30 days' worth of history -->
        <maxHistory>30</maxHistory>
    </rollingPolicy>

    <append>true</append>
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
        </pattern>
    </encoder>
</appender>
</configuration>

日志文件不会生成在我的项目根文件夹下的logs文件夹中。

提前致谢...

1 个答案:

答案 0 :(得分:0)

我只是尝试使用您发布的示例运行我的程序,并且它生成了日志。在你的情况下,有多种方法可以解决它如何出错。我有一些建议。

  • 您确定从项目根目录运行应用程序吗?如果没有,日志文件将在别处创建。

你的课程路径是什么?

  • 如果类路径上的任何地方都有logback.groovy或logback-test.xml,它将优先,并且将忽略您的logback.xml。

  • 与您发现的其他logback.xml相同。