iMa*_*kre 2 java logback spring-boot
我在我的 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>
Run Code Online (Sandbox Code Playgroud)
<logger name="com.mydomain.myapp" level="INFO" additivity="false">
<appender-ref ref="CONSOLE" />
<appender-ref ref="MY_APPENDER" />
</logger>
Run Code Online (Sandbox Code Playgroud)
当我在控制器中使用记录器时,它会正确记录到控制台输出,但找不到该文件。至于我可以在网上找到的内容,看起来我设置正确,但显然我不是。
编辑:它最终通过在父项目上执行 Maven 更新项目来解决,该项目是更大的模块系统的一部分。
将 logback-spring.xml 放在您的资源目录中,而不是静态目录中。
用 maven 构建你的项目,然后检查你的 target/classes 目录是否有 logback-spring.xml
默认情况下,如果您将 logback.xml 放在类路径的根目录中,它将从那里获取(或 logback-spring.xml 以利用 Boot 提供的模板功能)