如何配置logback使日志输出到mysql数据库

1、引入logback pom配置

1.0.13


	ch.qos.logback
	logback-core
	${logback.version}


	ch.qos.logback
	logback-classic
	${logback.version}

2、配置logback.xml

  
          
                             
                net.sf.log4jdbc.DriverSpy  
                jdbc:log4jdbc:mysql://${ip}:${port}/${dbname}  
                ${user}  
                ${password}
                   
              
        
     


....


        
    


3、创建logback的三张表 

例如 1.0.13版本的mysql脚本

https://github.com/qos-ch/logback/blob/v_1.0.13/logback-classic/src/main/java/ch/qos/logback/classic/db/script/mysql.sql

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;




你可能感兴趣的:(如何配置logback使日志输出到mysql数据库)