如何配置log4j2日志记录至数据库

如题所述

配置log4j2日志记录至数据库


1、建立用于保存日志的数据库表:

CREATE TABLE `sys_log` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `level` varchar(32) NOT NULL,
  `logger` varchar(100) NOT NULL,
  `message` varchar(1000) DEFAULT NULL,
  `exception` varchar(10000) DEFAULT NULL,
  `date_add` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4;

2、配置 databaseAppender :

<JDBC name="databaseAppender" tableName="sys_log">
      <ConnectionFactory class="cc.s2m.web.s2mBlog.util.StaticProp" method="getDatabaseConnection" />
      <Column name="date_add" isEventTimestamp="true" />
      <Column name="level" pattern="%level" />
      <Column name="logger" pattern="%logger" />
      <Column name="message" pattern="%message" />
      <Column name="exception" pattern="%ex{full}" />
    </JDBC>

3、其中 cc.s2m.web.s2mBlog.util.StaticProp ç±»çš„getDatabaseConnection方法为获取可用的datasource:

DriverManagerDataSource ds = new DriverManagerDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql://127.0.0.1/s2mBlog?characterEncoding=utf8");
ds.setUsername("root");
ds.setPassword("123456");
return ds.getConnection();


4、指派需要记录的日志,使用 databaseAppender å³å¯ï¼š

<logger name="SYSLOG" level="INFO" additivity="false">
      <appender-ref ref="databaseAppender"/> 
</logger>
温馨提示:内容为网友见解,仅供参考
无其他回答

如何配置log4j2日志记录至数据库
配置log4j2日志记录至数据库 1、建立用于保存日志的数据库表:CREATE TABLE `sys_log` ( `id` int(11) NOT NULL AUTO_INCREMENT, `level` varchar(32) NOT NULL, `logger` varchar(100) NOT NULL, `message` varchar(1000) DEFAULT NULL, `exception` varchar(10000) DEFAULT NULL, ...

如何配置log4j2日志记录至数据库
一、前提条件 系统必须是使用LOG4J进行日志管理,否则方法无效。 系统必须包含中国mons-logging-xxx.jar,log4j-xxx.jar这两个JAR包,XXX为版本号。 二、操作步骤 1、创建日志表 要把日志持久化,必须在数据库中创建一张用来存储日志信息的表,表内字段为日志 的一个主要属性包括:操作...

一文搞懂 Java 日志记录(Log4j\/Log4j2)
Log4j2的核心组件包括Logger、Appender和Layout,它们协同工作,允许开发者将日志信息定向到文件、控制台甚至数据库。Logger负责接收和处理日志信息,Appender决定输出目的地,而Layout则负责格式化输出。配置文件如log4j.properties,可通过XML或properties格式,定义日志级别、目标以及输出格式。在编写Java应用时,建...

log4j2 异步日志原理及配置
而log42实现异步日志,主要包括以下两种方式:异步Logger通过使用LMAX Disruptor环形队列和单独的处理线程,避免了锁的竞争,从而实现更高的吞吐量。队列大小默认4096,通过以下参数,可以开启异步日志。异步Appender则是使用了java中的ArrayBlockingQueue,默认队列大小1024。log4j2官方测试,asyncLogger相比asyncAppend...

【日志】Log4j2配置
变量配置,类似常量定义 默认情况下springboot是不将日志输出到日志文件中,这里对日志框架的支持有两种配置方式(和logback一样): (1)application.properties 或 application.yml (系统层面) (2)logback-spring.xml (自定义文件方式)默认名log4j2-spring.xml,可以省下在application.yml中...

Spring Boot(六):一招学会Log4j2
1、引入Log4j2依赖 默认情况下,Spring Boot使用LogBack作为日志系统。若要使用Log4j2,需要从spring-boot-starter-web中移除spring-boot-starter-logging依赖,并显式添加Log4j2的依赖库。具体步骤如下:2、创建并配置log4j2-spring.xml 在src\/main\/resources目录下创建log4j2-spring.xml文件,并填充以下...

...IDEA中搭建Maven项目到Log4j2日志配置,全程实操演示
如果你使用的是Log4j 2.x版本,需要注意包名和代码的不同,这部分也有详细的官方指南可供参考。最后,运行项目。选择Main.java文件,点击Run按钮启动程序。运行后,日志信息将显示在控制台,至此,Log4j2的配置已完成。通过以上步骤,你将学会在IntelliJ IDEA中通过Maven搭建项目,并配置Log4j2日志,为你的...

太详细了!Springboot 整合 log4j2 日志
log4j2通过.properties文件配置,而现版本已经弃用,改用.xml、.json或.jsonl文件。博主提供了一个配置模板供参考。常用的配置参数包括日志级别、输出源(如控制台或文件)以及自定义日志布局。配置参数介绍如下:日志级别决定记录日志信息的条件,级别从高到低为:ERROR、WARN、INFO、DEBUG、TRACE。输出源...

基于Ignite+Lucene+Log4j2的分布式统一日志查询最佳实践
日志记录方式通常通过日志系统实现库对应的配置文件进行配置,如使用log4j2时,可能是log4j2.xml文件。日志通常记录到文件中,要查看日志,就得登录服务器进行实地查看。这样,如果应用以集群的方式进行部署,而问题又出现在某台服务器,就需要登录每一台服务器,给系统的开发、测试和运维带来诸多麻烦。但与...

Log4j2进阶使用(按大小时间备份日志)
本章通过配置log4j2.xml,实现如下目标:每1分钟备份一次日志文件,删除3分钟前备份的日志文件。这里的配置和第4步中略有不同,name为RollingTimeFile,主要是filePattern、TimeBasedTriggeringPolicy配置不一样,filePattern为${LOG_HOME}\/$${date:yyyy-MM}\/${FILE_NAME}-%d{yyyy-MM-dd-HH-mm}.log...

相似回答