logback配置数据源日志error级别写入库

LOGBACK.XML中配置

<appender name="db_log" class="ch.qos.logback.classic.db.DBAppender">
        <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
            <driverClass>${logback.dblog.dirver}</driverClass>
            <url>jdbc:mysql://${logback.dblog.serverName}:${logback.dblog.port}/${logback.dblog.databaseName}?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=UTC</url>
            <user>${logback.dblog.user}</user>
            <password>${logback.dblog.password}</password>
        </connectionSource>
</appender>
<root level="error">
        <appender-ref ref="console"/>
        <appender-ref ref="db_log" />  
</root>
<logger name="dbLogger" level="error" additivity="false">
        <appender-ref ref="db_log"/>
</logger>

资源文件配置:

# LOGBACK
logback.dblog.dirver=${logback.dblog.dirver}
logback.dblog.serverName=${logback.dblog.serverName}
logback.dblog.port=${logback.dblog.port}
logback.dblog.databaseName=${logback.dblog.databaseName}
logback.dblog.user=${logback.dblog.user}
logback.dblog.password=${logback.dblog.password}

另外如果要日志写库需要在自己的库里建立三张表:

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/ixixi/p/11676165.html