类 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.appender.AbstractCustomAppender
com.elitesland.ystdms.sys.log.appender.JdbcAppender
所有已实现的接口:
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

public class JdbcAppender extends AbstractCustomAppender
数据库存储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 '创建时间';
 
 
  • 构造器详细资料

    • JdbcAppender

      public JdbcAppender()
  • 方法详细资料

    • appenderName

      public String appenderName()
      从类复制的说明: AbstractCustomAppender
      当前appender的名称

      可用于判断是否激活

      指定者:
      appenderName 在类中 AbstractCustomAppender
      返回:
      appender名称
    • start

      public void start()
      启动Appender,初始化数据源和JdbcTemplate
      指定者:
      start 在接口中 ch.qos.logback.core.spi.LifeCycle
      覆盖:
      start 在类中 ch.qos.logback.core.AppenderBase<ch.qos.logback.classic.spi.ILoggingEvent>
    • executeAppend

      public void executeAppend(ch.qos.logback.classic.spi.ILoggingEvent event)
      将日志事件追加到JDBC
      指定者:
      executeAppend 在类中 AbstractCustomAppender
      参数:
      event - 日志事件
    • stop

      public void stop()
      停止Appender,关闭数据源连接
      指定者:
      stop 在接口中 ch.qos.logback.core.spi.LifeCycle
      覆盖:
      stop 在类中 ch.qos.logback.core.AppenderBase<ch.qos.logback.classic.spi.ILoggingEvent>
    • setJdbcUrl

      public void setJdbcUrl(String jdbcUrl)
      设置JDBC连接URL
      参数:
      jdbcUrl - JDBC连接URL
    • setUsername

      public void setUsername(String username)
      设置JDBC用户名
      参数:
      username - JDBC用户名
    • setPassword

      public void setPassword(String password)
      设置JDBC密码
      参数:
      password - JDBC密码
    • setDriverClassName

      public void setDriverClassName(String driverClassName)
      设置JDBC驱动类名
      参数:
      driverClassName - JDBC驱动类名
    • setTableName

      public void setTableName(String tableName)
      设置日志表名
      参数:
      tableName - 日志表名