springboot - logback 日志写入数据库

springboot - logback 日志写入数据库


1、在配置文件中新增数据库输出的 appender

    <appender name="DB-CLASSIC-MYSQL-POOL" class="ch.qos.logback.classic.db.DBAppender">  
        <connectionSource class="ch.qos.logback.core.db.DataSourceConnectionSource">  
            <dataSource class="org.apache.commons.dbcp.BasicDataSource">  
                <driverClassName>com.mysql.jdbc.Driver</driverClassName>  
                <url>jdbc:mysql://localhost:3306/log?characterEncoding=UTF-8</url>  
                <username>root</username>  
                <password>root</password>  
            </dataSource>  
        </connectionSource>  
    </appender> 

2、数据库新增3张保存日志的表

下面的代码不是官方的创建代码,在里面多加了三个字段,分别是

`gmt_create` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`gmt_modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`remark` VARCHAR(300) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
CREATE TABLE `logging_event` (
	`event_id` BIGINT(20) NOT NULL AUTO_INCREMENT,
	`timestmp` BIGINT(20) NOT NULL,
	`formatted_message` TEXT(65535) NOT NULL COLLATE 'utf8mb4_general_ci',
	`logger_name` VARCHAR(254) NOT NULL COLLATE 'utf8mb4_general_ci',
	`level_string` VARCHAR(254) NOT NULL COLLATE 'utf8mb4_general_ci',
	`thread_name` VARCHAR(254) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
	`reference_flag` SMALLINT(6) NULL DEFAULT NULL,
	`arg0` VARCHAR(254) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
	`arg1` VARCHAR(254) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
	`arg2` VARCHAR(254) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
	`arg3` VARCHAR(254) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
	`caller_filename` VARCHAR(254) NOT NULL COLLATE 'utf8mb4_general_ci',
	`caller_class` VARCHAR(254) NOT NULL COLLATE 'utf8mb4_general_ci',
	`caller_method` VARCHAR(254) NOT NULL COLLATE 'utf8mb4_general_ci',
	`caller_line` CHAR(4) NOT NULL COLLATE 'utf8mb4_general_ci',
	`gmt_create` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
	`gmt_modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
	`remark` VARCHAR(300) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
	PRIMARY KEY (`event_id`) USING BTREE
)
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=9971
;


CREATE TABLE `logging_event_exception` (
	`event_id` BIGINT(20) NOT NULL,
	`i` SMALLINT(6) NOT NULL,
	`trace_line` TEXT(65535) NOT NULL COLLATE 'utf8mb4_general_ci',
	`gmt_create` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
	`gmt_modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
	`remark` VARCHAR(300) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
	PRIMARY KEY (`event_id`, `i`) USING BTREE,
	CONSTRAINT `logging_event_exception_ibfk_1` FOREIGN KEY (`event_id`) REFERENCES `zjcs-cloud`.`logging_event` (`event_id`) ON UPDATE RESTRICT ON DELETE RESTRICT
)
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
;


CREATE TABLE `logging_event_property` (
	`event_id` BIGINT(20) NOT NULL,
	`mapped_key` VARCHAR(254) NOT NULL COLLATE 'utf8mb4_general_ci',
	`mapped_value` TEXT(65535) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
	`gmt_create` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
	`gmt_modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
	`remark` VARCHAR(300) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
	PRIMARY KEY (`event_id`, `mapped_key`) USING BTREE,
	CONSTRAINT `logging_event_property_ibfk_1` FOREIGN KEY (`event_id`) REFERENCES `zjcs-cloud`.`logging_event` (`event_id`) ON UPDATE RESTRICT ON DELETE RESTRICT
)
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
;


猜你喜欢

转载自blog.csdn.net/qq_15071263/article/details/107323978
今日推荐