当前位置: 首页 > news >正文

log4j 将日志记录到数据库

需要以下jar包:

---log4j

commons-loggin-1.1.1.jar

log4j-1.2.16.jar

---mysql

mysql-connector-java-5.1.15-bin.jar

 

---log4j.properties配置内容

log4j.rootLogger=INFO,DATABASE

#JDBC Appender

log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout

#与数据库建立连接   
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
log4j.appender.DATABASE.user=root
log4j.appender.DATABASE.password=
log4j.appender.DATABASE.sql=insert into wlog(class_name,method_name,create_time,log_level,log_info,log_type) values('%C', '%M', '%d{yyyy-MM-dd HH:mm:ss}', '%p', '%m', '%X{type}')

---表结构

CREATE TABLE wlog (
  id INT NOT NULL AUTO_INCREMENT,
  class_name VARCHAR(100) NULL COMMENT '类名',
  method_name VARCHAR(100) NULL COMMENT '方法名',
  create_time VARCHAR(45) NULL COMMENT '产生时间',
  log_level VARCHAR(45) NULL COMMENT '日志级别',
  log_info VARCHAR(45) NULL COMMENT '日志信息',
  log_type INT NULL COMMENT '日志类别',
  PRIMARY KEY (id));

 

--Log4jtest.java

    private static final Logger lg = Logger.getLogger(Log4jtest.class);
   
    
    public static void main(String[] args) {
         MDC.put("type", "1");
         
        lg.error("Log4jtes错误信息");
        lg.warn("Log4jtest警告信息");
        lg.info("Log4jtest信息");
    }

--result

mysql> select * from wlog;
+----+------------------------+-------------+---------------------+-----------+-----------------------+----------+
| id | class_name             | method_name | create_time         | log_level | log_info              | log_type |
+----+------------------------+-------------+---------------------+-----------+-----------------------+----------+
|  1 | com.yan.test.Log4jtest | main        | 2014-06-19 15:25:04 | ERROR     | Log4jtes错误信息      |        1 |
|  2 | com.yan.test.Log4jtest | main        | 2014-06-19 15:25:04 | WARN      | Log4jtest警告信息     |        1 |
|  3 | com.yan.test.Log4jtest | main        | 2014-06-19 15:25:04 | INFO      | Log4jtest信息         |        1 |
+----+------------------------+-------------+---------------------+-----------+-----------------------+----------+
3 rows in set (0.00 sec)

 

 

转载于:https://www.cnblogs.com/yshyee/p/3796724.html

相关文章:

  • 如何用笔记本组建家庭点歌系统
  • 什么是大数据?
  • 动态注册BroadcastReceiver
  • ASP.NET怎么防止多次点击提交按钮重复提交
  • @html.ActionLink的几种参数格式
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息
  • HTML中Select的使用具体解释
  • 使用Spring整合javaMail发用邮件
  • v​n​c​服​务​​安​装​与配置
  • 布局文件提示错误“No orientation specified, and the default is horizontal. This is a common so...”...
  • BZOJ-2743 采花
  • vs2012 发布网站丢失文件
  • hdu 1576扩展欧几里得算法
  • WCF入门教程:WCF基础知识问与答(转)
  • 《海量数据库解决方式》读后感
  • 【剑指offer】让抽象问题具体化
  • 03Go 类型总结
  • Fabric架构演变之路
  • HTML中设置input等文本框为不可操作
  • Java 网络编程(2):UDP 的使用
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • Laravel Mix运行时关于es2015报错解决方案
  • magento 货币换算
  • MySQL-事务管理(基础)
  • 规范化安全开发 KOA 手脚架
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 译自由幺半群
  • 白色的风信子
  • 【云吞铺子】性能抖动剖析(二)
  • FaaS 的简单实践
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​什么是bug?bug的源头在哪里?
  • ###C语言程序设计-----C语言学习(6)#
  • #Linux(帮助手册)
  • #QT(一种朴素的计算器实现方法)
  • $.ajax中的eval及dataType
  • (2.2w字)前端单元测试之Jest详解篇
  • (AngularJS)Angular 控制器之间通信初探
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (八)Spring源码解析:Spring MVC
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (强烈推荐)移动端音视频从零到上手(上)
  • (转) 深度模型优化性能 调参
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • (转载)PyTorch代码规范最佳实践和样式指南
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .NET gRPC 和RESTful简单对比
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • @Query中countQuery的介绍
  • @vue/cli脚手架
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存...