Logback 日志异步输出数据库(Oracle)

来源:互联网 发布:淘宝超级店长使用方法 编辑:程序博客网 时间:2024/05/18 06:27
参考资料:
Logback官方文档:http://logback.qos.ch/manual/appenders.html,DBAppender章节
Logback GutHub:https://github.com/qos-ch/logback

1、从LogBack源码库 logback-classic/src/main/java/ch/qos/logback/classic/db/script 文件夹中下载相应数据库的建表脚本,在目标数据库中执行脚本,建立这三个日志表logging_event、logging_event_property、logging_event_exception。

2、工程中添加相关jar依赖
logback:
[html] view plain copy
  1. <dependency>   
  2.    <groupId>ch.qos.logback</groupId>  
  3.    <artifactId>logback-classic</artifactId>  
  4.    <version>1.1.2</version>  
  5. </dependency>   
  6. <dependency>  
  7.    <groupId>ch.qos.logback</groupId>  
  8.    <artifactId>logback-core</artifactId>  
  9.    <version>1.1.2</version>  
  10. </dependency>  
Oracle的驱动、数据库连接池:
[html] view plain copy
  1. <dependency>  
  2.    <groupId>com.oracle</groupId>  
  3.    <artifactId>ojdbc14</artifactId>  
  4.    <version>10.2.0.3.0</version>  
  5. </dependency>  
  6. <dependency>  
  7.    <groupId>com.mchange</groupId>  
  8.    <artifactId>c3p0</artifactId>  
  9.    <version>0.9.5</version>  
  10. </dependency>  

3、在logback.xml文件中添加使用外部连接池的DBappender配置
[html] view plain copy
  1. <!-- 将日志存储到oracle数据库中 -->
        <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
            <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
                <driverClass>oracle.jdbc.driver.OracleDriver</driverClass>
                <url>jdbc:oracle:thin:@10.16.16.33:1521:resb</url>
                <user>zrhdic</user>
                <password>oracle</password>
            </connectionSource>
            <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印错误日志 -->
                <level>WARN</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
        </appender>
  2.  
  3.  <root level="INFO">
            <appender-ref ref="HOMELINK"/>
            <appender-ref ref="CONSOLE"/>
            <appender-ref ref="DB"/>
        </root>
启动工程,在数据库中查看日志输出情况,大功告成!
原创粉丝点击