2017-10-20 5 views
0

Ich muss alle Protokolldaten (d. H. Debug, Info, Fehler) in Mysql-Datenbank anstelle von Datei/Konsole. Ich habe die Spring-Boot-Dokumentation gelesen, aber ich habe keine Datenbank-bezogene Konfiguration für die Protokollierung gesehen.Spring Boot Anmeldung in Mysql-Datenbank

https://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html

versuchte sich auch auf den folgenden Link, aber seine Arbeit auch nicht. https://www.tutorialspoint.com/log4j/log4j_logging_database.htm

Kann mir jemand helfen, dies zu tun. Danke.

Antwort

0

Ich habe die Spring Boot-Dokumentation gelesen, aber ich habe keine Konfiguration im Zusammenhang mit der Datenbank für die Protokollierung.

Weil Spring Boot diese Funktionalität zum Logging Framework (Logback/Log4j etc) abgibt. Sie müssen also Ihr Logging-Framework entsprechend konfigurieren (zB logback.xml, logback-spring.xml, logback.groovy usw.). Die Standard-Logging-Frameworks im Spring-Boot sind slf4j + logback. So prüfen Sie, wie Sie DBAppender verwenden können.

Für Logback

https://logback.qos.ch/manual/appenders.html#DBAppender http://learningviacode.blogspot.com/2014/01/writing-logs-to-database.html Log to database with LogBack https://medium.com/@chakrar27/storing-log-data-in-postgresql-using-logback-db-appender-292891a9918

1. erstellen logback.xml Datei:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> 
     <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> 
     <encoder> 
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n 
      </pattern> 
     </encoder> 
    </appender> 
    <appender name="db" class="ch.qos.logback.classic.db.DBAppender"> 
     <connectionSource 
      class="ch.qos.logback.core.db.DriverManagerConnectionSource"> 
      <driverClass>org.postgresql.Driver</driverClass> 
      <url>jdbc:postgresql://localhost:5432/simple</url> 
      <user>postgres</user> 
      <password>root</password> <!-- no password --> 
     </connectionSource> 
    </appender> 

    <!-- the level of the root level is set to DEBUG by default. --> 
    <root level="TRACE"> 
     <appender-ref ref="stdout" /> 
     <appender-ref ref="db" /> 
    </root> 
</configuration> 

2. Erstellen Sie die 3 Tabellen

logging_event

logging_event_property

logging_event_exception

Sie existieren müssen, bevor DBAppender

verwendet werden kann

Für Log4J

https://logging.apache.org/log4j/2.x/manual/appenders.html#JDBCAppender

Für Log4J2

http://smasue.github.io/log4j2-spring-database-appender

+0

Vielen Dank. Ich habe jetzt "Logback" versucht. Gut mit Standardtabellen arbeiten, aber benutzerdefinierte Tabelle/Felder wirklich schwer zu erstellen. – Krish