log4j将日志输出到数据库

news/2024/5/19 2:10:08 标签: log4j, MySQL, Apache, SQL, JDBC

 

废话没有,就4个步骤,按照说明配置就行了。一点技术含量也没有.大家可以根据自己的应用
a修改输出的格式
b修改数据库的字段及修改插入的数据库sql语句
c其他数据的的使用方式,参照我下面的例子搞,我就不信你搞不出来^-^
1)2个jar包
mysql-connector-java-5.1.13-bin.jar
log4j-1.2.16.jar

2)配置文件(放在src下)
只需要appender3就可以输出到数据库, appender1,appender2也顺便给出大家吧
文件名:log4j.properties

log4j.rootLogger=INFO,appender1,appender2,appender3
# 控制台输出
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.appender1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS}[%p]: %m%n
# 文件输出,这里默认为追加方式
log4j.appender.appender2=org.apache.log4j.FileAppender
log4j.appender.appender2.File=log/IceColdMonitor.log
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.appender2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS}[%p]: %m%n
# 数据库输出
log4j.appender.appender3=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.appender3.driver=com.mysql.jdbc.Driver
log4j.appender.appender3.URL=jdbc:mysql://127.0.0.1:3306/test
log4j.appender.appender3.user=root
log4j.appender.appender3.password=test
log4j.appender.appender3.sql=insert into log_icecoldmonitor(level,category,thread,time,location,note) values('%p','%c','%t','%d{yyyy-MM-dd HH:mm:ss:SSS}','%l','%m')
log4j.appender.appender3.layout=org.apache.log4j.PatternLayout

3)数据库代码
Sql代码 复制代码
  1. CREATE TABLE `log_icecoldmonitor` (   
  2.   `Id` int(11) NOT NULL AUTO_INCREMENT,   
  3.   `levelvarchar(255) NOT NULL DEFAULT '' COMMENT '优先级',   
  4.   `category` varchar(255) NOT NULL DEFAULT '' COMMENT '类目',   
  5.   `thread` varchar(255) NOT NULL DEFAULT '' COMMENT '进程',   
  6.   `timevarchar(30) NOT NULL DEFAULT '' COMMENT '时间',   
  7.   `location` varchar(255) NOT NULL DEFAULT '' COMMENT '位置',   
  8.   `note` text COMMENT '日志信息',   
  9.   PRIMARY KEY (`Id`)   
  10. )  
CREATE TABLE `log_icecoldmonitor` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `level` varchar(255) NOT NULL DEFAULT '' COMMENT '优先级',
  `category` varchar(255) NOT NULL DEFAULT '' COMMENT '类目',
  `thread` varchar(255) NOT NULL DEFAULT '' COMMENT '进程',
  `time` varchar(30) NOT NULL DEFAULT '' COMMENT '时间',
  `location` varchar(255) NOT NULL DEFAULT '' COMMENT '位置',
  `note` text COMMENT '日志信息',
  PRIMARY KEY (`Id`)
)

4)测试类
Java代码 复制代码
  1. package phl.com;   
  2. import org.apache.log4j.Logger;   
  3.   
  4. public class Test {   
  5.   
  6.     public static void main(String[] args) {   
  7.         Logger logger = Logger.getLogger(Test.class);   
  8.         logger.info("good");   
  9. logger.debug("success");   
  10.     }   
  11. }  

http://www.niftyadmin.cn/n/872639.html

相关文章

c++正则中的坑

c正则中的坑 转义 在string 中 两个 \ \ 代表 \在xml 文件中需要转义的符号 本文由 简悦 SimpRead 转码&#xff0c; 原文地址 www.jianshu.com XML 中不允许出现一些特殊字符&#xff0c;这些字符需要使用转义字符代替 显示结果描述转义字符十进制 空格 <小于号<<…

使用Log4j输出日志至数据库

使用Log4j输出日志至数据库 首先创建一数据库表说明: 字段描述GUID流水号DATE时间THREAD当前线程LEVEL当前级别CLASS当前java程序/方法MESSAGES当前输出信息 log4j.properties如下配置: <!--StartFragment --> log4j.rootLoggerDEBUG,CONSOLE,DATABASE log4j.addivity…

wpa_suplicant 详解 文章收集

wpa_suplicant 详解 文章收集 参考资料 https://w1.fi/wpa_supplicant/devel/index.html https://zhuanlan.zhihu.com/p/24246712 https://www.cnblogs.com/lidabo/p/5062204.html https://blog.csdn.net/jy1075518049/article/details/51015141 https://blog.csdn.net/zm199…

程序员应知——把小事做好

程序员应知——把小事做好 在从事软件开发的这些年中&#xff0c;近期越来越多地听到这样的论点&#xff1a;当前的程序员越来越浮躁。我的感觉也是如此&#xff0c;由于在软件公司中&#xff0c;人才流动特别快&#xff0c;因此很多人的职位也变化的比较快&#xff0c;很可能…

STL容器的常见操作的总结

参考资料 https://zhuanlan.zhihu.com/p/363771232 https://mp.weixin.qq.com/s?__bizMzIyNjA5NjgzOQ&mid2247483755&idx1&sn8609a6315727e37a7b7e3f2c594ae2dd&chksme874e2c3df036bd51a356853c3734bb0701d0ae05bed7a4c8651eb4ba1fc260fa033997c22e9&sc…

这领导当的,你该怎么办?

公司有一个部门很不稳定&#xff0c;人员都淘换好几拨了&#xff0c;产品还没有做出个样子&#xff0c;这不最近&#xff0c;产品经理离职又带走了大半的骨干&#xff0c;高层派了另外一个部门的主管过来接这一摊子事儿。 领导是做C出身&#xff0c;从业经验也有二十来年了&am…

程序员应知:你有几种武器

程序员应知&#xff1a;你有几种武器&#xff1f; http://news.csdn.net/a/20100804/277678.html 首先我们必须有一种最趁手最熟悉的武器&#xff0c;有人的是java&#xff0c;有人是vb&#xff0c;还有人是c#等等&#xff0c;这种武器是用来解决大型项目中的问题的&#xff0c…

LINUX 网络套接字函数注释 极简版

socket模型创建流程图 socket 函数 #include <sys/types.h> #include <sys/socket.h> /*** description: 用来建立一个新的 socket* param {int} domain 指定使用何种的地址类型 完整的定义在/usr/include/bits/socket.h * AF_INET/PF_INET ip…