2017-10-20 276 views
0

我不得不把所有的日志数据(即调试,信息,错误)到mysql数据库,而不是对文件/控制台。 我读了春天启动文档,但我没有看到相关的数据库记录的任何配置。春季启动日志到mysql数据库

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

也试过下面的链接,但它也不能正常工作。 https://www.tutorialspoint.com/log4j/log4j_logging_database.htm

谁能帮我做这件事。 谢谢。

回答

0

我读春天启动文档,但我没有看到相关的数据库记录任何 配置。

因为spring引导程序将日志框架(logback/log4j等)的功能关闭了。所以,你需要配置你的日志框架因此使用它的配置文件(如:logback.xml,的logback-spring.xml,logback.groovy等)。在春季启动默认的日志框架是SLF4J +的logback。所以结账你可以如何使用DBAppender。

对于的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.创建logback.xml文件:

<?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.创建3个表

logging_event

logging_event_property

logging_event_exception

它们必须存在DBAppender可用于

之前的Log4J

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

对于Log4J2

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

+0

谢谢。我已经尝试过“Logback”了。使用默认表格工作良好,但创建自定义表格/字段非常困难。 – Krish