热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Log4J写入到数据库中

在一些日常项目中需要将log日志输出到数据库中,然后进行分析,这对于log4J来说是易如反掌的,下面我们就配置将log日志输出到数据库中。在开始项目之前需要将mysql的驱动jar包加入到当前的项目中,然后在所使用的数据库中建立test数据库,并建立log表,建表

在一些日常项目中需要将log日志输出到数据库中,然后进行分析,这对于log4J来说是易如反掌的,下面我们就配置将log日志输出到数据库中。 在开始项目之前需要将mysql的驱动jar包加入到当前的项目中,然后在所使用的数据库中建立test数据库,并建立log表,建表

在一些日常项目中需要将log日志输出到数据库中,然后进行分析,这对于log4J来说是易如反掌的,下面我们就配置将log日志输出到数据库中。

在开始项目之前需要将mysql的驱动jar包加入到当前的项目中,然后在所使用的数据库中建立test数据库,并建立log表,建表语句如下:

CREATE TABLE `log4j` (
`logId` int(11) NOT NULL AUTO_INCREMENT,
`createDate` varchar(45) DEFAULT NULL,
`thread` varchar(45) DEFAULT NULL,
`level` varchar(45) DEFAULT NULL,
`class` varchar(150) DEFAULT NULL,
`message` varchar(245) DEFAULT NULL,
PRIMARY KEY (`logId`)
) ENGINE=InnoDB AUTO_INCREMENT=394 DEFAULT CHARSET=utf8


log4j.properties信息如下:

#log4j.rootCategory=INFO,A3
log4j.rootCategory=INFO,A3
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.COnversionPattern=%d{yyyy MMM dd HH:mm:ss,SSS}%m%n

log4j.logger.java.sql.COnnection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug,stdout,logfile,A3


#定义A3输出到数据库
log4j.appender.A3=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.A3.URL=jdbc:mysql://18.8.10.104:3306/test
log4j.appender.A3.driver=com.mysql.jdbc.Driver
log4j.appender.A3.user=root
log4j.appender.A3.password=bistest1
#定义A3的布局和执行的SQL语句
log4j.appender.A3.layout=org.apache.log4j.PatternLayout
log4j.appender.A3.layout.COnversionPattern=INSERT INTO log4j(createDate,thread,level,class,message) values(\'%d\',\'%t\',\'%-5p\',\'%c\',\'%m\')


测试代码如下:

public class Log4JTest {
Logger logger = Logger.getLogger(Log4JTest.class);
public Log4JTest() {
logger.warn("yes i do");
}
public static void main(String[] args) {
Logger logger = Logger.getLogger(Log4JTest.class);
System.out.println(System.getProperty("user.dir"));
PropertyConfigurator.configure("src/log4j.properties");
logger.debug("Here is DEBUG messgae");
logger.info("Here is INFO message");
logger.warn("Here is WARN message");
logger.error("Here is ERROR message");
logger.fatal("Here is FATAL message");
}
}

当执行测试代码时,你将发现log日志信息被写入到了数据库中

备注:本例使用的数据库为mysql 5.1、如果使用其他类型的数据库,请按照具体的数据库修改驱动信息以及其他相关信息

本例不再详细讲解,其中的参数信息请参见我的另一篇文章:http://blog.csdn.net/liyong635/article/details/13988209

推荐阅读
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 开发笔记:[14]SQL 别名
    开发笔记:[14]SQL 别名 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • CRZ.im:一款极简的网址缩短服务及其安装指南
    本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
  • 如何将955万数据表的17秒SQL查询优化至300毫秒
    本文详细介绍了通过优化SQL查询策略,成功将一张包含955万条记录的财务流水表的查询时间从17秒缩短至300毫秒的方法。文章不仅提供了具体的SQL优化技巧,还深入探讨了背后的数据库原理。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文详细介绍了PostgreSQL与MySQL在SQL语法上的主要区别,包括如何使用COALESCE替代IFNULL、金额格式化的方法、别名处理以及日期处理等关键点。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • Android与JUnit集成测试实践
    本文探讨了如何在Android项目中集成JUnit进行单元测试,并详细介绍了修改AndroidManifest.xml文件以支持测试的方法。 ... [详细]
  • 本文介绍如何使用JavaScript中的for循环来创建一个九九乘法表,适合初学者学习循环结构的应用。 ... [详细]
  • 本文探讨了在Windows系统中运行Apache服务器时频繁出现崩溃的问题,并提供了多种可能的解决方案和建议。错误日志显示多个子进程因达到最大请求限制而退出。 ... [详细]
  • flea,frame,db,使用,之 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • Linux环境下MySQL的安装与配置
    本文详细介绍了在Linux系统上安装和配置MySQL的步骤,包括安装前的准备工作、下载和解压安装包、初始化数据库、配置文件编辑、启动服务以及设置开机自启动等。 ... [详细]
  • 本文介绍了如何在Linux系统中将命令添加到PATH环境变量中,以便在任何位置都能直接运行这些命令。PATH是一个包含多个目录路径的字符串变量,当输入不带路径的命令时,系统会在这些路径中查找并执行相应的命令。 ... [详细]
author-avatar
走过滴岁月688
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有