Class JdbcAppender
java.lang.Object
ch.qos.logback.core.spi.ContextAwareBase
ch.qos.logback.core.AppenderBase<ch.qos.logback.classic.spi.ILoggingEvent>
com.elitesland.ystdms.sys.log.provider.logback.appender.AbstractCustomAppender
com.elitesland.ystdms.sys.log.provider.logback.appender.JdbcAppender
- All Implemented Interfaces:
ch.qos.logback.core.Appender<ch.qos.logback.classic.spi.ILoggingEvent>,ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.spi.FilterAttachable<ch.qos.logback.classic.spi.ILoggingEvent>,ch.qos.logback.core.spi.LifeCycle
数据库存储appender.
-- PostgreSQL数据库日志表结构
CREATE TABLE IF NOT EXISTS sys_log (
id BIGSERIAL PRIMARY KEY,
timestamp BIGINT NOT NULL,
level VARCHAR(10) NOT NULL,
logger VARCHAR(255) NOT NULL,
thread VARCHAR(100) NOT NULL,
message TEXT NOT NULL,
exception TEXT,
created_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 创建索引
CREATE INDEX IF NOT EXISTS idx_timestamp ON sys_log(timestamp);
CREATE INDEX IF NOT EXISTS idx_level ON sys_log(level);
CREATE INDEX IF NOT EXISTS idx_logger ON sys_log(logger);
CREATE INDEX IF NOT EXISTS idx_created_time ON sys_log(created_time);
-- 添加表注释
COMMENT ON TABLE sys_log IS '系统日志表';
COMMENT ON COLUMN sys_log.id IS '主键ID';
COMMENT ON COLUMN sys_log.timestamp IS '时间戳';
COMMENT ON COLUMN sys_log.level IS '日志级别';
COMMENT ON COLUMN sys_log.logger IS '记录器名称';
COMMENT ON COLUMN sys_log.thread IS '线程名称';
COMMENT ON COLUMN sys_log.message IS '日志消息';
COMMENT ON COLUMN sys_log.exception IS '异常信息';
COMMENT ON COLUMN sys_log.created_time IS '创建时间';
-
Nested Class Summary
Nested classes/interfaces inherited from class com.elitesland.ystdms.sys.log.provider.logback.appender.AbstractCustomAppender
AbstractCustomAppender.DefaultLayout -
Field Summary
Fields inherited from class com.elitesland.ystdms.sys.log.provider.logback.appender.AbstractCustomAppender
layoutFields inherited from class ch.qos.logback.core.AppenderBase
name, startedFields inherited from class ch.qos.logback.core.spi.ContextAwareBase
context -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription当前appender的名称voidexecuteAppend(ch.qos.logback.classic.spi.ILoggingEvent event) 将日志事件追加到JDBCvoidsetDriverClassName(String driverClassName) 设置JDBC驱动类名voidsetJdbcUrl(String jdbcUrl) 设置JDBC连接URLvoidsetPassword(String password) 设置JDBC密码voidsetTableName(String tableName) 设置日志表名voidsetUsername(String username) 设置JDBC用户名voidstart()启动Appender,初始化数据源和JdbcTemplatevoidstop()停止Appender,关闭数据源连接Methods inherited from class com.elitesland.ystdms.sys.log.provider.logback.appender.AbstractCustomAppender
append, getAppName, getTenantId, getUserId, getUsername, isActive, setActiveAppender, setLayoutMethods inherited from class ch.qos.logback.core.AppenderBase
addFilter, clearAllFilters, doAppend, getCopyOfAttachedFiltersList, getFilterChainDecision, getName, isStarted, setName, toStringMethods inherited from class ch.qos.logback.core.spi.ContextAwareBase
addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, getDeclaredOrigin, getStatusManager, setContextMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface ch.qos.logback.core.spi.ContextAware
addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, setContext
-
Constructor Details
-
JdbcAppender
public JdbcAppender()
-
-
Method Details
-
appenderName
Description copied from class:AbstractCustomAppender当前appender的名称可用于判断是否激活
- Specified by:
appenderNamein classAbstractCustomAppender- Returns:
- appender名称
-
start
public void start()启动Appender,初始化数据源和JdbcTemplate- Specified by:
startin interfacech.qos.logback.core.spi.LifeCycle- Overrides:
startin classch.qos.logback.core.AppenderBase<ch.qos.logback.classic.spi.ILoggingEvent>
-
executeAppend
public void executeAppend(ch.qos.logback.classic.spi.ILoggingEvent event) 将日志事件追加到JDBC- Specified by:
executeAppendin classAbstractCustomAppender- Parameters:
event- 日志事件
-
stop
public void stop()停止Appender,关闭数据源连接- Specified by:
stopin interfacech.qos.logback.core.spi.LifeCycle- Overrides:
stopin classch.qos.logback.core.AppenderBase<ch.qos.logback.classic.spi.ILoggingEvent>
-
setJdbcUrl
设置JDBC连接URL- Parameters:
jdbcUrl- JDBC连接URL
-
setUsername
设置JDBC用户名- Parameters:
username- JDBC用户名
-
setPassword
设置JDBC密码- Parameters:
password- JDBC密码
-
setDriverClassName
设置JDBC驱动类名- Parameters:
driverClassName- JDBC驱动类名
-
setTableName
设置日志表名- Parameters:
tableName- 日志表名
-