Spring Boot logback-spring. xml создает файл журнала в пути / var / log, даже если в файлах xml и application.properties определен пользовательский путь журнала - PullRequest
0 голосов
/ 29 января 2020

Я подготовил пользовательскую конфигурацию RollingFileAppender в файлах logback-spring.xml и application.properties. Файл журнала soduncu.log создан по пути /var/app/sefa/logs. Это ожидаемое поведение для конфигурации, но есть непредвиденная ситуация, когда soduncu.log создан по умолчанию Linux путь к журналу /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>

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 ссылка на идентификатор процесса в файле журнала по двум различным путям:

/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

1 Ответ

0 голосов
/ 29 января 2020

Я не могу повторить это поведение с вашим кодом. Попробуйте изменить

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

на

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

и посмотреть, что произойдет , убедитесь, что сначала удалили soduncu.log из var / log. Надеюсь, это поможет.

...