logback 记录到mysql_使用Logback把日志记录到数据库中

先看一下日志被记录到数据库中的效果图:

logback-database-20170309.png

引入logback依赖包:

dependencies{

compile group: 'ch.qos.logback', name: 'logback-core', version: '1.2.1'

compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.1'

compile group: 'mysql', name: 'mysql-connector-java', version: '6.0.5'

}

注:

1.如果其他依赖包中包含这两个logback依赖包,可省略上面两个;

2.MySQL的JDBC的驱动包为连接数据库所用。以下以MySQL为例,其他数据库类似。

配置logback.xml文件:

com.mysql.jdbc.Driver

jdbc:mysql://*.*.*.*:3306/databases

user

passworld

注:

1. *.*.*.*:3306/databases为数据库地址;

2.user、password为此数据库的登录名和密码。

在数据库中添加logback日志数据表

# Logback: the reliable, generic, fast and flexible logging framework.

# Copyright (C) 1999-2010, QOS.ch. All rights reserved.

#

# See http://logback.qos.ch/license.html for the applicable licensing

# conditions.

# This SQL script creates the required tables by ch.qos.logback.classic.db.DBAppender.

#

# It is intended for MySQL databases. It has been tested on MySQL 5.1.37

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;

注:不同数据库的建表sql脚本在logback-classic/src/main/java/ch/qos/logback/classic/db/script文件夹下找到(就是上面引入的logback-classic包里面)。其中包括:db2.sql、h2.sql、hsqldb.sql、mssql.sql、oracle.sql、postgresql.sql、sqlite.sql、sybaseSqlAnyWhere.sql等sql脚本文件。

加载logback.xml文件

不同的框架集成logback的方式不一样,此处以Spring Boot为例:

在application.properties文件中加入下面这句话,并把logback.xml文件放在src/main/resources文件夹下,启动Spring Boot程序即可!

logging.config=classpath:logback.xml

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值