我在我的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更新项目来解决,该项目是更大模块系统的一部分。
答案 0 :(得分:4)
将logback-spring.xml放在资源目录中,而不是静态目录。
使用maven构建项目,然后检查target / classes目录是否具有logback-spring.xml
默认情况下,如果将logback.xml放在类路径的根目录中,它将从那里获取(或者使用logback-spring.xml来利用Boot提供的模板功能)