Найти в Дзене
Software development

Быстрое добавление логирования log4j2 в Spring Boot

Я использую этот способ всегда при старте нового проекта. Конечно далее логирование нужно развивать (по мере необходимости).

1) Сначала исключаем logbaсk реализацию, которая идет по умолчанию:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>

2) Добавляем стартер - реализация log4j2:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

-2

3) Создаем файл конфигурации log4j2.xml в resources:

-3

4) Добавляем содержимое в файл конфигурации:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
</Console>
<RollingFile name="RollingFile"
fileName="./rest-service/rest-service.log"
filePattern="./rest-service/$${date:yyyy-MM}/rest-service-%d{-dd-MMMM-yyyy}-%i.log.gz">
<PatternLayout>
<pattern>%d %p %C{1.} [%t] %m%n</pattern>
</PatternLayout>
<Policies>
<OnStartupTriggeringPolicy />
<SizeBasedTriggeringPolicy
size="50 MB" />
<TimeBasedTriggeringPolicy />
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>
</Appenders>

<Loggers>
<Root level="debug">
<AppenderRef ref="Console" />
<AppenderRef ref="RollingFile" />
</Root>
</Loggers>
</Configuration>

-4

Основные характеристики конфигурации:

1) Размер файла до 50 мб, далее упаковываем в архив.

2) Храним 10 архивов.