Spring启动日志记录没有记录到文件

时间:2017-06-07 15:51:23

标签: java spring-boot logback

我在我的web mvc应用程序中使用spring-boot-start-web依赖项并使用logback。我有一个logback-spring.xml文件,位于我的静态资源目录中,其中包含以下配置

<property name="MY_LOG_FILE" value="C:\mylog.log" />

<appender name="MY_APPENDER"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <encoder>
        <pattern>${FILE_LOG_PATTERN}</pattern>
    </encoder>
    <file>${MY_LOG_FILE}</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
        <fileNamePattern>${MY_LOG_FILE}.%i</fileNamePattern>
    </rollingPolicy>
    <triggeringPolicy
        class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <MaxFileSize>10MB</MaxFileSize>
    </triggeringPolicy>

<logger name="com.mydomain.myapp" level="INFO" additivity="false">
    <appender-ref ref="CONSOLE" />
    <appender-ref ref="MY_APPENDER" />
</logger>

当我在控制器中使用记录器时,它正确地记录到控制台输出,但文件无处可寻。至于我在网上找到的东西,看起来我正确地设置它,但显然我不是。

编辑:最终通过在父项目上执行Maven更新项目来解决,该项目是更大模块系统的一部分。

1 个答案:

答案 0 :(得分:4)

将logback-spring.xml放在资源目录中,而不是静态目录。

使用maven构建项目,然后检查target / classes目录是否具有logback-spring.xml

默认情况下,如果将logback.xml放在类路径的根目录中,它将从那里获取(或者使用logback-spring.xml来利用Boot提供的模板功能)