春天启动项目。Logback 用作日志系统。
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true" scan="true" scanPeriod="10 seconds" >
<!-- Переопределим стандартные настройки системы логгирования.-->
<include resource="defaults-spring.xml"/>
<!--Профиль по умолчанию, вывод сообщений только в консоль.-->
<springProfile name="default">
<include resource="console-appender-spring.xml"/>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</springProfile>
<!--Профиль по умолчанию, вывод сообщений только в консоль.-->
<springProfile name="production">
<!-- настройки аппендеров для текущего профиля-->
<include resource="logback-appender-production-spring.xml"/>
<!-- Указываем для пакета, какой уровень логгирования, будет обрабатываться
текущим профилем.-->
<logger name="org.springframework.web" level="DEBUG">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.springframework.data" level="DEBUG">
<appender-ref ref="CONSOLE"/>
</logger>
<!-- Указываем для пакета, какой уровень логгирования, будет обрабатываться
текущим профилем.-->
<logger name="DOMAIN" level="ERROR">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="DOMAIN" level="INFO">
<appender-ref ref="FILE-ROLLING"/>
</logger>
<!-- Указываем для пакета, какой уровень логгирования, будет обрабатываться
текущим профилем.-->
<logger name="CONTROLLER" level="INFO">
<appender-ref ref="FILE-ROLLING"/>
</logger>
</springProfile>
</configuration>
调用翻转的附加程序。
<!-- настройки аппендеров для текущего профиля-->
<include resource="logback-appender-production-spring.xml"/>
<?xml version="1.0" encoding="UTF-8"?>
<included>
<include resource="defaults-spring.xml"/>
<property name="ARCHIVE_DIR" value="logs"/>
<property name="FILE_LOG_NAME" value="${ARCHIVE_DIR}/mylogger.log"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>UTF-8</charset>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<appender name="FILE-ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- <file>${FILE_LOG_NAME}</file>-->
<file>${FILE_LOG_NAME}</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<charset>UTF-8</charset>
<Pattern>${FILE_LOG_PATTERN}</Pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- В данном случае, архивный каталог создается каждую 'минуту'.
Здесь обрататите внимание на `_mm` в имени архивной папки. Это означает, что архивная
папка будет создаваться каждую минуту. Можно указать: mm, HH, MM, dd;
%i - указвывает на порядковый номер архива, в текущем архивном каталоге. -->
<fileNamePattern>${ARCHIVE_DIR}/archived_%d{dd-MM-yyyy_mm}/app.%d{dd-MM-yyyy}.%i.log</fileNamePattern>
<!-- указывает на максимальный размер лог-файла, здесь размер 1KB
Если размер превышается, тогда файл помещается в архив-->
<maxFileSize>1KB</maxFileSize>
<!-- Общее количество всех архивных файлов,
если общий размер архивных файлов в текущем каталоге больше чем указано, то
файлы удаляются из архивного каталога. Удаление начинается с тех, которые были
самими ранними.
-->
<totalSizeCap>5KB</totalSizeCap>
<!-- Указан период (в днях), в течении которого будет хранится архивный лог,
по истечении данного срока, все файлы удаляются из текущего архивного каталога-->
<maxHistory>1</maxHistory>
</rollingPolicy>
</appender>
</included>
我想要一个像这样的名字
<... value="..../mylogger.log"/>
放入 application.properties,然后从那里作为变量 ${FILE_LOG_NAME} 调用...
我怎样才能做到这一点 ?
或者,您可以这样做:
在
application.properties文件中指定logging.file您的:然后
logback.xml写:并访问所需的属性:
更详细的信息可以参考官方文档和辅助资源,并附有示例: