log4j将日志存储到数据库

log4j是javaEE日志输出文件,通常情况下我们都是把log日志输出到指定的日志文件中,在这儿我们使用log4j将日志存储到mysql,oracle数据库表中,使用log4j前必须引入log4j.jar 和commons-logging.jar这两个jar包。

一:配置log4j文件:新建log4j.properties日志文件,系统默认会到src目录下寻找该文件的,添加如下内容。

log4j.rootLogger=WARN,LOGDB2
//达到数量插入记录
log4j.appender.LOGDB2.bufferSize=10
log4j.appender.LOGDB2=org.apache.log4j.jdbc.JDBCAppender
//连接数据库的驱动-这里根据自己使用的数取库去填写
log4j.appender.LOGDB2.Driver=oracle.jdbc.driver.OracleDriver
//连接数据库的地址我这里使用的oracle的地址
log4j.appender.LOGDB2.URL=jdbc:oracle:thin:@192.168.13.41:1521:BDPC
//连接数据库的用户名
log4j.appender.LOGDB2.user=root
//密码
log4j.appender.LOGDB2.password=root
//创建记录的sql--这里需要自己手动去创建一个记录表,注意表列名一一对应,本人测试日期类型必须为varchar2,不知道是不是oracle的问题
log4j.appender.LOGDB2.sql=INSERT INTO C_TASK_LOGINFO (UUID,CDATED,CLOGGER,CLEVEL,CMESSAGE) VALUES('%x','%d{yyyy-MM-dd HH:mm:ss}','%C','%p','%m')
log4j.appender.LOGDB2.layout=org.apache.log4j.PatternLayout

**注意这里有个坑,修改log4j的配置文件时,每条信息后面的空格必须手动去掉,不然会报错。

注意:这里后面有时会有空格存在,清除空格。

image.png

二:新建数据库表,上面的log4j会自动将日志数据插入到该表中,建表语句如下,该表为oracle数据库表,mysql的话自己改下:

CREATE TABLE "CDDS"."C_TASK_LOGINFO"( 
   	"UUID" VARCHAR2(32), 
	"CDATED" VARCHAR2(32), //时间
	"CLOGGER" VARCHAR2(200),//日志记录产生的class
	"CLEVEL" VARCHAR2(50), //日志记录级别
	"CMESSAGE" CLOB     //日志记录信息
)

三:日志输出后的效果如下图所示。

log4j

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值