我已经完成了Spring Boot uses /tmp/spring.log file during testing
但那并没有帮助。我的spring启动应用程序中有一个logback.xml,当我启动它时会在var / tmp / spring.log中创建一个日志。现在这个不能在客户端站点上工作。有没有办法将其配置为不创建它我的后退已经在我在我的appender中定义的日志文件中记录控制台。我甚至都不知道这件事发生了。这个spring.log与Rolling文件appender一起使用,这意味着它将继续每天创建日志。
我删除了:
<!--include resource="org/springframework/boot/logging/logback/base.xml"/-->
来自我的logback.xml,但它仍然没有阻止它访问该文件或创建它
任何帮助将不胜感激
编辑:我的logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true">
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/fix.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>90</maxHistory>
</rollingPolicy>
<encoder>
<charset>utf-8</charset>
<Pattern>%d %-5level [%thread] %logger{0}: %msg%n</Pattern>
</encoder>
</appender>
<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
<queueSize>512</queueSize>
<appender-ref ref="FILE"/>
</appender>
<logger name="com.comp.myapp" level="INFO"/>
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
<resetJUL>true</resetJUL>
</contextListener>
<root level="INFO">
<appender-ref ref="FILE" />
<!--<appender-ref ref="CONSOLE"/>-->
</root>
由此产生的问题是,如果我使用相同的用户两次部署相同的应用程序。两个应用程序都写入相同的文件,这是没有意义的。如果我还在同一台机器上部署了另一个spring boot应用程序,它们将写入tmp文件夹中的相同spring.log。我不明白创建“偷偷摸摸”的日志背后的原因(我会称之为鬼鬼祟祟)
答案 0 :(得分:2)
替换
providers
与
<include resource="org/springframework/boot/logging/logback/base.xml"/>
详情链接: -
答案 1 :(得分:0)
添加
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
确实很重要,但是您最终想要的是无需将日志保存到tmp
就能获得的所有功能。如果您查看<include resource="org/springframework/boot/logging/logback/base.xml" />
,将会发现以下内容:
<included>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<root level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</included>
因此,您想将<include resource="org/springframework/boot/logging/logback/base.xml" />
替换为以下内容:
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<root level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
这样,您仍然可以像使用基本xml一样在IDE中看到日志。