Spring Boot nie ma obowiązkowej zależności logowania, z wyjątkiem API do logowania commons, z którego istnieje wiele implementacji do wyboru. Aby użyć funkcji Logback, musisz ją uwzględnić, a także kilka wiązań dla wspólnego logowania na ścieżce klas. Najprostszy sposób to zrobić za pomocą starterów, które zależą od logowania rozrusznika. W przypadku aplikacji sieciowej potrzebujesz tylko startera-rozrusznika-sieci, ponieważ zależy on przejściowo od startera logowania. Na przykład za pomocą Maven:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Wiosna Boot ma abstrakcji LoggingSystem które próbuje skonfigurować rejestrowanie na podstawie zawartości ścieżce klasy. Jeśli dostępna jest funkcja Logback, jest to pierwszy wybór.
Spring Boot obsługuje również Log4j lub Log4j 2 do rejestrowania konfiguracji, ale tylko wtedy, gdy jeden z nich znajduje się w ścieżce klas. Jeśli używasz startowych poms do łączenia zależności, oznacza to, że musisz wykluczyć Logback, a następnie dołączyć wybraną wersję Log4j. Jeśli nie używasz poms początkowych, musisz dodatkowo zapewnić logowanie (przynajmniej) oprócz wybranej wersji Log4j.
Najprostsza ścieżka prawdopodobnie przez poms początkowe, mimo że wymaga trochę drgań z wykluczeniami, .e.g. w Mavenie:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j</artifactId>
</dependency>
Aby użyć Log4j 2, po prostu zależą sprężynowy rozruchu rozrusznik-log4j2 niż sprężynowy rozruchu rozrusznik-log4j.
to ciekawy pomysł, nigdy nie myślałem o tym pomyśle. – Rowanto