Verwenden Sie Logging im Spring Boot
1. Das Ziel der Unterricht
Einfach verstanden, "Logging" ist "die Aufnahme (recording)" der Problems während der Operation der Applikation. Die Problems hier sind die Fehler, die Warnung, und die anderen Informationen. Diese Informationen kann in den Bildschirm Console angezeigt werden oder in die File aufnehmen.
Wenn Sie die Applikation Spring Boot direkt auf Eclipse laufen, können Sie die Information aufs Fenster Console sehen. Diese Information zeigen Sie den Zustand der Applikation, der Fehler währen der Operation der Applikation. Das ist Logging!.
Es gibt viele verschiedenen Bibliotheke Logging wie Logback, Log4j2, JUL,.. Spring Boot kann mit dieser Bibliotheke arbeiten. Nach Default hat Spring Boot automatisch konfiguriert und benutzte die Bibliothek Logback für sein logging , und Sie brauchen keine Konfiguration mehr, außer wenn Sie einige Arguments anpassen möchten. Die Anpassungen hier kann den Name der File bestimmen um die Information, die Vorlagen (pattern), ... schreiben.
In diesem Artikel werden wir die Operationsgrundsätze von Logback in der Applikation Spring Boot diskutieren und studieren den Anpassungsweg für Logback.
Die Properties können angepasst:
logging.config
logging.exception-conversion-word
logging.file
logging.level.*
logging.path
logging.pattern.console
logging.pattern.file
logging.pattern.level
logging.register-shutdown-hook
2. Erstellen Sie das Projekt Spring Boot
Auf Eclipse erstellen Sie das Projekt Spring Boot.
Um Logging zu benutzen, brauchen Sie ein der folgenden "Starter" verwenden
- spring-boot-starter-logging
- spring-boot-starter-web
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.o7planning</groupId>
<artifactId>SpringBootDefaultLogging</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>SpringBootDefaultLogging</name>
<description>Spring Boot +Default Logging</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
MainController.java
package org.o7planning.sblogging.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Controller
public class MainController {
private static final Logger LOGGER = LoggerFactory.getLogger(MainController.class);
@ResponseBody
@RequestMapping(path = "/")
public String home() {
LOGGER.trace("This is TRACE");
LOGGER.debug("This is DEBUG");
LOGGER.info("This is INFO");
LOGGER.warn("This is WARN");
LOGGER.error("This is ERROR");
return "Hi, show loggings in the console or file!";
}
}
Laufen Sie Ihre Applikation direkt auf Spring Boot laufen, danach greifen Sie auf die folgende Link zu:
Auf das Fenster Console von Eclipse können Sie die Information von Logs wie folgend sehen:
2018-01-14 13:21:57.593 INFO 7980 --- [nio-8080-exec-6] o.o.sblogging.controller.MainController : This is INFO
2018-01-14 13:21:57.593 WARN 7980 --- [nio-8080-exec-6] o.o.sblogging.controller.MainController : This is WARN
2018-01-14 13:21:57.593 ERROR 7980 --- [nio-8080-exec-6] o.o.sblogging.controller.MainController : This is ERROR
3. Logging Level
Nach dem Schweregrad des Problem teilt Logback die Information zu 5 Niveau (Level). Die niedrigste Schweregrad ist TRACE, und die meiste ist ERROR. Achtung: Es gibt einige Bibliothek Logging teilt die Informationen, die aufgenommen werden brauchen, in 7 verschiedenen Niveau.
- TRACE
- DEBUG
- INFO
- WARN
- ERROR
- FATAL
- OFF
Nach dem Default nimmt Spring Boot nur die Information mit dem Schweregrad von ab INFO auf.
# Default:
logging.level.root=INFO
Ändern Sie Logging Level in application.properties:
* application.properties *
logging.level.root=WARN
# ..
Laufen Sie Ihre Applikation wieder und sehen, dass die Information aufs Fenster Console geschrieben:
2018-01-14 17:45:50.341 WARN 8500 --- [nio-8080-exec-1] o.o.sblogging.controller.MainController : This is WARN
2018-01-14 17:45:50.342 ERROR 8500 --- [nio-8080-exec-1] o.o.sblogging.controller.MainController : This is ERROR
4. Logging File
Die Default logging Information wird in dem Bildschirm Console geschrieben allerdings können Sie konfigurieren damit sie in die File geschrieben werden.
* application.properties *
logging.file=logs/mylog.log
Laufen Sie Ihre Applikation in Eclipse wieder, danach besuchen Sie die folgende Link:
Dann erfrischen Sie das Projekt. Sie können sehen, dass die File logging erstellt wird.
5. Logging Pattern
Die Log Aufnahmen werden nach einer Vorlage geschrieben. Unten ist das ein Default-Vorlage (pattern) :
Und Sie können "Logging pattern" durch die Anpassung der folgenden Properties ändern:
- logging.pattern.console
- logging.pattern.file
# Pattern:
logging.pattern.console= %d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n
# Output:
2018-Jan-17 01:58:49.958 WARN [http-nio-8080-exec-1] o.o.s.c.MainController - This is WARN
2018-Jan-17 01:58:49.960 ERROR [http-nio-8080-exec-1] o.o.s.c.MainController - This is ERROR
# Pattern:
logging.pattern.console= %d{dd/MM/yyyy HH:mm:ss.SSS} %-5level [%thread] %logger{115} - %msg%n
# Output:
17/01/2018 02:15:15.052 WARN [http-nio-8080-exec-1] org.o7planning.sblogging.controller.MainController - This is WARN
17/01/2018 02:15:15.054 ERROR [http-nio-8080-exec-1] org.o7planning.sblogging.controller.MainController - This is ERROR
# Pattern:
logging.pattern.console=%d{yy-MMMM-dd HH:mm:ss:SSS} %5p %t %c{2}:%L - %m%n
# Output:
18-January-17 02:21:20:317 WARN http-nio-8080-exec-1 o.o.s.c.MainController:22 - This is WARN
18-January-17 02:21:20:320 ERROR http-nio-8080-exec-1 o.o.s.c.MainController:23 - This is ERROR
Anleitungen Spring Boot
- Installieren Sie die Spring Tool Suite für Eclipse
- Die Anleitung zum Sping für den Anfänger
- Die Anleitung zum Spring Boot für den Anfänger
- Gemeinsame Eigenschaften von Spring Boot
- Die Anleitung zu Spring Boot und Thymeleaf
- Die Anleitung zu Spring Boot und FreeMarker
- Die Anleitung zu Spring Boot und Groovy
- Die Anleitung zu Spring Boot und Mustache
- Die Anleitung zu Spring Boot und JSP
- Die Anleitung zu Spring Boot, Apache Tiles, JSP
- Verwenden Sie Logging im Spring Boot
- Anwendungsüberwachung mit Spring Boot Actuator
- Erstellen Sie eine mehrsprachige Webanwendung mit Spring Boot
- Verwenden Sie im Spring Boot mehrere ViewResolver
- Verwenden Sie Twitter Bootstrap im Spring Boot
- Die Anleitung zu Spring Boot Interceptor
- Die Anleitung zu Spring Boot, Spring JDBC und Spring Transaction
- Die Anleitung zu Spring JDBC
- Die Anleitung zu Spring Boot, JPA und Spring Transaction
- Die Anleitung zu Spring Boot und Spring Data JPA
- Die Anleitung zu Spring Boot, Hibernate und Spring Transaction
- Spring Boot, JPA und H2-Datenbank integrieren
- Die Anleitung zu Spring Boot und MongoDB
- Verwenden Sie mehrere DataSource mit Spring Boot und JPA
- Verwenden Sie mehrere DataSource mit Spring Boot und RoutingDataSource
- Erstellen Sie eine Login-Anwendung mit Spring Boot, Spring Security, Spring JDBC
- Erstellen Sie eine Login-Anwendung mit Spring Boot, Spring Security, JPA
- Erstellen Sie eine Benutzerregistrierungsanwendung mit Spring Boot, Spring Form Validation
- Beispiel für OAuth2 Social Login im Spring Boot
- Führen Sie geplante Hintergrundaufgaben in Spring aus
- CRUD Restful Web Service Beispiel mit Spring Boot
- Beispiel Spring Boot Restful Client mit RestTemplate
- CRUD-Beispiel mit Spring Boot, REST und AngularJS
- Sichere Spring Boot RESTful Service mit Basic Authentication
- Sicherer Spring Boot RESTful Service mit Auth0 JWT
- Beispiel Upload file mit Spring Boot
- Beispiel Download File mit Spring Boot
- Das Beispiel: Spring Boot File Upload mit jQuery Ajax
- Das Beispiel File Upload mit Spring Boot und AngularJS
- Erstellen Sie eine Warenkorb-Webanwendung mit Spring Boot, Hibernate
- Die Anleitung zu Spring Email
- Erstellen Sie eine einfache Chat-Anwendung mit Spring Boot und Websocket
- Stellen Sie die Spring Boot-Anwendung auf Tomcat Server bereit
- Stellen Sie die Spring Boot-Anwendung auf Oracle WebLogic Server bereit
- Installieren Sie ein kostenloses Let's Encrypt SSL-Zertifikat für Spring Boot
- Konfigurieren Sie Spring Boot so, dass HTTP zu HTTPS umgeleitet wird
Show More