【发布时间】:2020-01-29 07:42:51
【问题描述】:
我在logback-spring.xml 文件和application.properties 文件中准备了一个自定义RollingFileAppender 配置。在路径/var/app/sefa/logs 下创建的日志文件 soduncu.log。这是配置的预期行为,但在默认 Linux 日志路径 /var/log/ 下创建了 soduncu.log 的意外情况。我试图阻止这种意外的日志文件创建,但我做不到。这里是什么情况,我做错了什么?
logback-spring.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<springProperty name="LOG_DIR" source="logging.path" defaultValue="/var/app/sefa/logs">
</springProperty>
<appender name="ROLLING"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_DIR}/soduncu.log</file>
<rollingPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>${LOG_DIR}/soduncu-%d{yyyy-MM-dd}.%i.log
</fileNamePattern>
<maxFileSize>10MB</maxFileSize>
<maxHistory>60</maxHistory>
<totalSizeCap>20GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%date %-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
</encoder>
</appender>
<root level="WARN">
<appender-ref ref="ROLLING" />
</root>
</configuration>
application.properties:
logging.path=/var/app/sefa/logs
logging.file=/var/app/sefa/logs/soduncu.log
logging.level.root=INFO
logging.level.org.springframework=ERROR
logging.level.com.nuvia=DEBUG
这是一个 Linux 进程 ID 链接到两个不同路径下的日志文件:
/proc/14368/fd/1 -> /var/log/soduncu.log
/proc/14368/fd/2 -> /var/log/soduncu.log
/proc/14368/fd/6 -> /var/app/sefa/logs/soduncu.log
【问题讨论】:
-
logging.file 应该只是没有路径的文件名,
-
@SimonMartinelli 我已经在
<file>${LOG_DIR}/soduncu.log</file>中介绍了这个文件。它没有在任何地方使用过。
标签: spring-boot rollingfileappender application.properties spring-logback