博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P1-15:集成日志组件 logback 4日志数据库
阅读量:5262 次
发布时间:2019-06-14

本文共 4512 字,大约阅读时间需要 15 分钟。

为了将重要的日志内容比如error输出到数据库进行持久化,方便查询统计分析,

对logback.xml进行如下修改:

testLog
${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
30
2MB
20GB
true
===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n
utf-8
error
ACCEPT
DENY
${LOG_PATH}/warn/log-warn-%d{yyyy-MM-dd}.%i.log
30
2MB
20GB
true
===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n
utf-8
warn
ACCEPT
DENY
${LOG_PATH}/info/log-info-%d{yyyy-MM-dd}.%i.log
30
2MB
20GB
true
===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n
utf-8
info
ACCEPT
DENY
com.mysql.cj.jdbc.Driver
jdbc:mysql://10.0.100.200:3306/dbtest?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
guest
123456
error
ACCEPT
DENY
===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n
${CONSOLE_LOG_PATTERN}
UTF-8
    

在数据库中创建对应的日志表,对日志进行存储。

BEGIN;DROP TABLE IF EXISTS logging_event_property;DROP TABLE IF EXISTS logging_event_exception;DROP TABLE IF EXISTS logging_event;COMMIT; BEGIN;CREATE TABLE logging_event   (    timestmp         BIGINT NOT NULL,    formatted_message  TEXT NOT NULL,    logger_name       VARCHAR(254) NOT NULL,    level_string      VARCHAR(254) NOT NULL,    thread_name       VARCHAR(254),    reference_flag    SMALLINT,    arg0              VARCHAR(254),    arg1              VARCHAR(254),    arg2              VARCHAR(254),    arg3              VARCHAR(254),    caller_filename   VARCHAR(254) NOT NULL,    caller_class      VARCHAR(254) NOT NULL,    caller_method     VARCHAR(254) NOT NULL,    caller_line       CHAR(4) NOT NULL,    event_id          BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY  );COMMIT;  BEGIN;CREATE TABLE logging_event_property  (    event_id       BIGINT NOT NULL,    mapped_key        VARCHAR(254) NOT NULL,    mapped_value      TEXT,    PRIMARY KEY(event_id, mapped_key),    FOREIGN KEY (event_id) REFERENCES logging_event(event_id)  );COMMIT;  BEGIN;CREATE TABLE logging_event_exception  (    event_id         BIGINT NOT NULL,    i                SMALLINT NOT NULL,    trace_line       VARCHAR(254) NOT NULL,    PRIMARY KEY(event_id, i),    FOREIGN KEY (event_id) REFERENCES logging_event(event_id)  );COMMIT;

到这里,就完成了日志输出到数据库的工作。

 

转载于:https://www.cnblogs.com/superisland/p/11126102.html

你可能感兴趣的文章
电子眼抓拍大解密
查看>>
tomcat7的数据库连接池tomcatjdbc的25个优势
查看>>
Html 小插件5 百度搜索代码2
查看>>
java.io.IOException: read failed, socket might closed or timeout, read ret: -1
查看>>
java 常用命令
查看>>
卷积中的参数
查看>>
51nod1076 (边双连通)
查看>>
ViewPager的onPageChangeListener里面的一些方法参数:
查看>>
Jenkins关闭、重启,Jenkins服务的启动、停止方法。
查看>>
Linux pipe函数
查看>>
java equals 小记
查看>>
2019春 软件工程实践 助教总结
查看>>
Zerver是一个C#开发的Nginx+PHP+Mysql+memcached+redis绿色集成开发环境
查看>>
多线程实现资源共享的问题学习与总结
查看>>
java实现哈弗曼树
查看>>
程序的静态链接,动态链接和装载 (补充)
查看>>
关于本博客说明
查看>>
线程androidAndroid ConditionVariable的用法
查看>>
转载:ASP.NET Core 在 JSON 文件中配置依赖注入
查看>>
代码变量、函数命名神奇网站
查看>>