0

我在文件和文件中准备了自定义RollingFileAppender配置。在 path 下创建的日志文件 soduncu.log 。这是配置的预期行为,但在默认 Linux 日志路径下创建了意外情况。我试图阻止这种意外的日志文件创建,但我做不到。这里的情况是什么,我做错了什么?logback-spring.xmlapplication.properties/var/app/sefa/logssoduncu.log/var/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>

应用程序属性:

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
4

1 回答 1

0

我无法使用您的代码复制此行为。尝试改变

name="LOG_DIR" source="logging.path" 

name="LOG_DIR_PATH" source="log.dir.path"

看看会发生什么 确保首先从 var/log 中删除 soduncu.log。 我希望它有所帮助。

于 2020-01-29T08:07:09.670 回答