log4j写日志到数据库

1、首先到官方网站下载jar包,

官方网址:http://logging.apache.org

下载地址:http://logging.apache.org/log4j/1.2/download.html

推荐下载1.2的zip包(1.3已经禁用,2.0正在开发中)

选择apache-log4j-1.2.15.zip下载,下载下来大小约3600kb

2、解压zip文件,将log4j-1.2.15.jar包放入到项目中的lib文件夹里或通过构建路径(buildpath)导入进入

3、新建java类,如下:

  1. package com.v512.log4j;
  2. import org.apache.log4j.Logger;
  3. import org.apache.log4j.MDC;
  4. public class HelloLog4j {
  5.     
  6.     private static Logger logger = Logger.getLogger(HelloLog4j.class);
  7.     
  8.     /**
  9.      * @param args
  10.      */
  11.     public static void main(String[] args) {
  12.         
  13.     String user = "admin";
  14.     MDC.put("user", user); //和配置文件中的%X{user}对应

  15.         logger.info("This is info message.");
  16.     
  17.     }
  18. }

 

2、在项目中新建文件(File),命名为:log4j.properties,在该文件中写入如下代码

  1. log4j.rootLogger=DEBUG,DATABASE
  2. log4j.addivity.org.apache=true
  3. ########################
  4. # JDBC Appender
  5. #######################
  6. log4j.appender.DATABASE.Threshold=INFO
  7. log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
  8. #log4j.appender.DATABASE.BufferSize=10
  9. log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/Lobo_Net
  10. log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
  11. log4j.appender.DATABASE.user=root
  12. log4j.appender.DATABASE.password=root
  13. log4j.appender.DATABASE.sql=insert into lobo_user (col1, col2, col3) values('%c''%X{user}''%d{yyyy-MM-dd HH:mm:ss}');
  14. log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout

这里注意哦,你要改成你自己的数据库名、表名,sql语句你要根据自己的情况改写

 

下面我们对“%d %t %p %l %m %n”一一讲解:

   l         %d输出日志时间点的日期或时间

l         %t  产生该日志事件的线程名

l         %p 日志的log_level,如DEBUGWARN或者INFO

l         %c  输出所属的类目,通常就是所在类的全名,如“iNotes.Default”;

l         %m 日志的内容;

l         %l  输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。

 

 

5、运行HelloLog4j.java类,即可将信息写入到数据库中.

够简单吧,赶快来试试吧!

有什么不懂的,留言,讨价一起讨论交流下。

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值