当应用程序启动时(spring-boot),应用程序将控制台中的日志保存在两个位置。如何改变?
这是一个多模块应用程序,这是其中一个模块的配置。
的pom.xml:
...
<properties>
<logs.path>${basedir}/logs</logs.path>
</properties>
...
application.yml:
...
logging.path: @logs.path@
...
logback.xml:
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>utf-8</charset>
<pattern>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %magenta([%thread]) %logger{36}.%M: %msg%n
</pattern>
</pattern>
</encoder>
</appender>
<appender name="CONSOLE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/console.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/archived/console/console.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>90</maxHistory>
</rollingPolicy>
<encoder>
<charset>utf-8</charset>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{36}.%M: %msg%n</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="CONSOLE_FILE"/>
</root>
</configuration>
当我运行应用程序时,日志会保存在以下位置:
模块/ LOG_PATH_IS_UNDEFINED /的console.log
和
模块/ singleModule /日志/的console.log
如何修复它。
答案 0 :(得分:0)
从application.yml中删除LOG_PATH
并检查error[E0277]: the trait bound `for<'r> std::ops::Fn(&'r std::vec::Vec<i32>) -> f64 + 'static: std::marker::Sized` is not satisfied
变量是否已正确设置。
答案 1 :(得分:0)
我添加了标签,我指定了application.yml文件。它有所帮助:
<configuration>
<property resource="application.yml" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>utf-8</charset>
<pattern>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %magenta([%thread]) %logger{36}.%M: %msg%n
</pattern>
</pattern>
</encoder>
</appender>
<appender name="CONSOLE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${logging.path}/console.log</file>
...
application.yml和logback.xml文件位于资源文件夹中。