свойства приложения весенней загрузки для ведения журнала

Я видел много примеров настройки ведения журнала в Spring Boot, но я ищу самый простой способ выполнить работу, изменив этот шаблон в моем application.properties:

logging.pattern.file= %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
logging.file=/Users/alessandroargentieri/Desktop/try/application.log

Это работает довольно хорошо, но я бы хотел получить ограничение в МБ для одного файла и установить, что каждый день я хочу иметь другой файл журнала (с датой в имени файла ).

Можно ли получить это, добавив несколько строк в application.properties без использования файлов XML или JSON?


person Alex Mawashi    schedule 26.01.2018    source источник
comment
НЕТ, для этого вам нужно использовать XML для входа в систему.   -  person pvpkiran    schedule 26.01.2018


Ответы (2)


Я думаю, вам нужно переопределить конфигурацию ведения журнала по умолчанию своей собственной конфигурацией. Spring boot обеспечивает поддержку ведения журнала с минимальной конфигурацией и ее ограничения. Он использует внутренний файл base.xml, который включает следующий файл-appender.xml:

<appender name="FILE"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder>
            <pattern>${FILE_LOG_PATTERN}</pattern>
        </encoder>
        <file>${LOG_FILE}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <fileNamePattern>${LOG_FILE}.%i</fileNamePattern>
        </rollingPolicy>
        <triggeringPolicy
            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>10MB</MaxFileSize>
        </triggeringPolicy>
</appender>

Как видите, можно ввести только несколько свойств.

Вы можете перейти по ссылке ниже, чтобы настроить свою индивидуальную конфигурацию:

https://dzone.com/articles/configuring-logback-with-spring-boot https://springframework.guru/using-logback-spring-boot/

person Rahul    schedule 26.01.2018
comment
Спасибо за подсказку, но даже при добавлении этого файла во внешний каталог не записывается выходной файл. Я также попытался заменить значения $ {...} на: $ {FILE_LOG_PATTERN} =% d {yyyy-MM-dd HH: mm: ss} [% thread]% -5level% logger {36} -% msg% n и $ {LOG_FILE}.% i = /Users/alessandroargentieri/Desktop/try/application.%d{yyyy-MM-dd}.xyz.log, но файл не сохраняется - person Alex Mawashi; 26.01.2018

Нет. Самый простой способ сделать это - использовать дополнительный xml-файл.

Я использую logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<property name="DEV_HOME" value="c:/logs" />

<appender name="FILE-AUDIT"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${DEV_HOME}/debug.log</file>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} - %msg%n
        </Pattern>
    </encoder>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- rollover daily -->
        <fileNamePattern>
            ${DEV_HOME}/debug.%d{yyyy-MM-dd}.%i.log
        </fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>10MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>

</appender>

<logger name="ar.com" level="debug" additivity="false">
    <appender-ref ref="FILE-AUDIT" />
</logger>

<root level="error">
    <appender-ref ref="FILE-AUDIT" />
</root>
person Alejandro    schedule 26.01.2018
comment
спасибо, а что это за единственный корневой элемент файла xml? - person Alex Mawashi; 29.01.2018
comment
Извините, но я не понимаю вопроса. Корневой тег - это уровень по умолчанию для всех журналов. - person Alejandro; 29.01.2018