1、首先创建日志数据库 
用的是MySQL 
CREATE TABLE `td_log` ( 
  `lid` int(11) NOT NULL AUTO_INCREMENT, 
  `lusername` varchar(20) DEFAULT NULL, 
  `lmessage` varchar(200) DEFAULT NULL, 
  `lstartdate` varchar(30) DEFAULT NULL, 
  `level` varchar(20) DEFAULT NULL, 
  PRIMARY KEY (`lid`) 
)

2、配置文件中的部分内容: 
log4j.rootLogger=info,jdbc 
#直接使用log4j包中的文件 
log4j.appender.jdbc=org.apache.log4j.jdbc.JDBCAppender 
#与数据库建立连接 
log4j.appender.jdbc.URL=jdbc:mysql://localhost:3306/test 
log4j.appender.jdbc.driver=com.mysql.jdbc.Driver 
log4j.appender.jdbc.user=root 
log4j.appender.jdbc.password=admin 
log4j.appender.jdbc.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %t %c{2}:%L - %m%n

#指定要插入数据库的格式,与数据库字段对应,与一般SQL区别不大,只是加上了log4j的一些配置参数而已。 
log4j.appender.jdbc.sql=insert into td_log(lusername, lstartdate, level, lmessage) values ('%X{lusername}','%d{yyyy-MM-dd HH:mm:ss}','%p','%m')

3、日志工具类源码如下 
/** 
* 系统日志辅助类 
* @author 
* @date  */ 
public class LogUtil{

/** 
  * 崩溃级别 
  * @param lusername 
  * @param message 
  */ 
public static void fatal(Logger logger, String lusername,String message){ 
  MDC.put("lusername", lusername); 
  logger.fatal(message);  
}

/** 
  * 错误级别 
  * @param username 
  * @param message 
  */ 
public static void error(Logger logger, String lusername,String message){ 
  MDC.put("lusername", lusername); 
  logger.error(message);  
}

/** 
  * 错误级别 
  * @param username 
  * @param message 
  */ 
public static void error(Logger logger, String lusername, Object message){ 
  MDC.put("lusername", lusername); 
  logger.error(message);  
}

/** 
  * 消息级别 
  * @param logger 
  * @param username 
  * @param message 
  */ 
public static void info(Logger logger, String lusername,String message){ 
  MDC.put("lusername", lusername); 
  logger.info(message);  
}

/** 
  * 警告级别 
  * @param username 
  * @param message 
  */ 
public static void warn(Logger logger, String lusername,String message){ 
  MDC.put("lusername", lusername); 
  logger.warn(message);  
}

/** 
  * 调试级别 
  * @param username 
  * @param message 
  */ 
public static void debug(Logger logger, String lusername,String message){ 
  MDC.put("lusername", lusername); 
  logger.debug(message);  

}

4、客户端调用源码 
public class test{ 
private static Logger logger = Logger.getLogger(test.class);

public static void main(String[] args) { 
LogUtil.info(logger, "wyw", "看看是否写入了数据库");


}

log4j学习日记-写入数据库的更多相关文章

  1. 怎样借助log4j把日志写入数据库中

            log4j是一个优秀的开源日志记录项目.我们不仅能够对输出的日志的格式自定义,还能够自定义日志输出的目的地,比方:屏幕.文本文件,数据 库,甚至能通过socket输出.本节使用MySQ ...

  2. 使用log4j将日志写入数据库并发送邮件

    参考: 快速了解Log4J 1.log4j的初始配置 参考该问的配置即可完整的实现写入数据库及发送邮件的功能 a.写入数据库需要配置相应的jar包,数据库类型不同,请使用指定的数据库配置,该文仅限于o ...

  3. 用log4j将日志写入数据库

    以下为log4j中的配置参数: %m 输出代码中指定的消息 %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL %r 输出自应用启动到输出该log信息耗费的毫秒数 %t 输出产 ...

  4. 使用log4j让日志写入数据库

    之前做的一个项目有这么个要求,在日志管理系统里,需要将某些日志信息存储到数据库里,供用户.管理员查看分析.因此我就花了点时间搞了一下这一功能,各位请看. 摘要:我们知道log4j能提供强大的可配置的记 ...

  5. Log4j写入数据库详解

    log4j是一个优秀的开源日志记录项目,我们不仅可以对输出的日志的格式自定义,还可以自己定义日志输出的目的地,比如:屏幕,文本文件,数据库,甚至能通过socket输出.本节主要讲述如何将日志信息输入到 ...

  6. (OAF)jdeveloper集成log4j并将日志输出到指定文件并写入数据库

    参考: How to configure Log4j in JDev 11g Ever wanted to use log4j in your adf project ? Well though Or ...

  7. Log4j(一):Log4j将日志信息写入数据库

    前言 为了监听一些数据的采集等功能,需要随时监听设备的状态,所以需要运行的时候将日志打入到数据库中. 正文 第一步: 首先是jar包,由于我使用的是springboot,所以,在springboot- ...

  8. flume学习(三):flume将log4j日志数据写入到hdfs(转)

    原文链接:flume学习(三):flume将log4j日志数据写入到hdfs 在第一篇文章中我们是将log4j的日志输出到了agent的日志文件当中.配置文件如下: tier1.sources=sou ...

  9. log4j日志写入数据库

    # log4j写入数据库 ### 前言-----------------------------log4j是写入日志到控制台和文件很常见,但是写入到数据库不多见.做性能测试写入到数据库,统计方便些. ...

随机推荐

  1. Oracle11g安装完成后给用户解锁

    安装时候你可能忘记给普通用户scott解锁,导致安装成功后普通用户无法登录,那该怎么办呢? 先用system用户登录,登录成功之后就可以给其他用户解锁了. 如图: 同理,如果要锁定某一个用户,只需要把 ...

  2. Android(java)学习笔记174:SharedPreferences(轻量级存储类)

    1.SharedPreferences是Android平台上一个轻量级的存储类,简单的说就是可以存储一些我们需要的变量信息.2个activity 之间的数据传递除了可以他通过intent来传递数据,还 ...

  3. ios下微信标题修改

    很多开发过微信的人估计都遇到过这样的问题,ios下微信页面标题更改不了,而安卓却可以直接用:document.title="你的标题". 下面是解决这个问题的hack: 1.jqu ...

  4. Windows7服务无法启动的解决

    这周六,我接到了一个很诡异的案例,表现为任务栏右下角网络连接图标始终为一个红叉,已排除网卡硬件.链路和网卡驱动的问题.主板都新换了一块,可是问题依旧,这无疑将问题的根源指向了操作系统.本想通过网络疑难 ...

  5. PHP的数据库 之 关闭问题

    首先,PHP由于有垃圾回收机制,所以数据库即使你不手动关闭,也有自动去关闭的机制, 这里就和操作文本流不同,文本流需要手动去关闭,不然会发生内存浪费现象 并且,PHP在同时连接多个DB的时候,连接到一 ...

  6. WisDom.Net 框架设计(四) 用户安全

    WisDom.Net  ----用户安全 1.用户单机登录 正如其名这里要求其实就是显示用户只能在一台电脑上登录.防止多处登录,这里简单的说一下实现原理,我们在这里使用session +cookie ...

  7. C# 反射之属性操作

    一.反射-类操作 //1.获取对象所有的属性名 Student stu = new Student(); //获取当前类名称 Console.WriteLine(stu.GetType().Name) ...

  8. 使用微软企业库5.0提供的unity配置解藕系统demo(源码)

    最近公司集50多号开发人员的人力围绕一个系统做开发,框架是免不了要统一的,公司提供的架构,利于分工合作,便于维护,扩展,升级,其中使用了到微软的企业库来解藕系统,只是因为框架封装,于是在网上学习了一个 ...

  9. cocos2dx arpg单机手游

    这只是一个DEMO. ARPG 单机手游, 个人DEMO. 支持剧情编辑, 支持气泡对话, 支持人物图像对话, 支持随时角色切换, 支持NPC跟随, 共同作战, 支持LUA扩展, 支持BUFF技能, ...

  10. phpstorm集成phpunit(转)

    转自http://blog.csdn.net/zhuziying99/article/details/49028321 phpstorm集成phpunit1.下载phpunit.phar,将该文件放到 ...