`
wang_zhi_peng2007
  • 浏览: 248805 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

apache log4j实现日志插入mysql数据库

 
阅读更多

【转载】

       近做项目时,出现了一个bug,环境为was,出现一次请求,返回多次处理结果,最终查询原因为was配置的超时转发(server1超时自动转发server2,3,4..)引起的.

为了快速定位问题的根源,所以希望能把log4j的输入写入到数据库中,因此才有了本此的文章。

1.创建mysql数据库log4j,数据表ibs_log

--建库
CREATE DATABASE `log4j`;
--建表
CREATE TABLE `ibs_log` (                                                             
           `log_id` int(10) NOT NULL AUTO_INCREMENT,                                          
           `log_date` datetime NOT NULL COMMENT '日期',                                     
           `log_file` varchar(255) DEFAULT NULL COMMENT '文件名',                          
           `log_line` varchar(255) DEFAULT NULL COMMENT '行号',                             
           `log_thread` varchar(255) DEFAULT NULL COMMENT '线程',                           
           `log_level` varchar(255) DEFAULT NULL COMMENT 'Log级别 info warndebug error等', 
           `log_message` varchar(2048) DEFAULT NULL COMMENT 'Log信息',                      
           PRIMARY KEY (`log_id`,`log_date`),                                                 
           KEY `INDEX_LOG_DATE` (`log_date`) USING BTREE                                      
         ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8

 2.新建一个java project工程。

  • 引入jar包

      apache log4j实现日志插入mysql数据库

 

  • 配置log4j.properties
  • log4j.rootLogger=INFO,appender1,appender2,appender3
    log4j.logger.org.springframework=ERROR
    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
    #database
    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/log4j
    log4j.appender.appender3.user=root
    log4j.appender.appender3.password=root
    log4j.appender.appender3.sql=INSERT INTO ibs_log (log_date,log_file,log_line,log_thread,log_level,log_message) VALUES ('%d{yyyy-MM-dd hh:mm:ss}','%c','%l','%t','%p','%m')
     编写测试类
  • package com.log4j.test;
    import org.apache.log4j.Logger;
    
    public class Test {
        public static void main(String[] args) {
    
            Logger logger = Logger.getLogger(Test.class);
            logger.info("test logger info");
            logger.debug("test logger debug");
            logger.error("test logger error");
            logger.fatal("test logger fatal");
        }
    }
    
     项目截图:
  •   apache log4j实现日志插入mysql数据库

    运行截图:

      apache log4j实现日志插入mysql数据库apache log4j实现日志插入mysql数据库

      

分享到:
评论

相关推荐

    log4j使用与java中log4j记录日志如何写入数据库

    1. **配置文件**:Log4j的配置文件通常是`log4j.properties`或`log4j.xml`,它定义了日志的级别(如DEBUG、INFO、WARN、ERROR、FATAL)、输出目的地(控制台、文件、数据库等)以及布局格式。 2. **日志类**:在...

    Log4j 日志信息存储到数据库中

    - `log4j.appender.appender2=org.apache.log4j.jdbc.JDBCAppender`: 创建了一个 JDBCAppender 实例,用于将日志信息存储到数据库。 - `log4j.appender.appender2.driver=com.mysql.jdbc.Driver`: 指定了数据库...

    日志配置文件log4j.xml以及MySql数据库驱动文件

    本篇文章将深入探讨这两个关键组件:日志配置文件`log4j.xml`和MySQL数据库驱动文件`mysql-connector-java-5.1.39-bin.jar`。 首先,我们来了解`log4j.xml`。Log4j是Apache组织提供的一款开源的日志记录框架,广泛...

    log4j日志写入数据库实例

    这段配置指示Log4j使用JDBCAppender连接到本地MySQL服务器上的mydatabase数据库,并插入一条包含logger名、日志级别、消息和时间戳的日志记录。 接下来,我们需要定义一个Layout来决定日志的格式。在上述示例中,...

    log4j 配置mysql 数据库 demo

    本篇将详细介绍如何配置Log4j来将日志信息存储到MySQL数据库中,以实现日志的集中管理和分析。 首先,我们需要了解Log4j的基本结构。Log4j主要由三个组件构成:Logger(日志器)、Appender(输出端)和Layout(布局...

    使用log4j 记录日志到数据库

    - 这段配置设置了JDBCAppender,连接到名为`testdb`的MySQL数据库,使用root用户和密码,并定义了一个SQL插入语句,用于将日志信息写入`logs`表。 2. **数据库准备**: - 在数据库中创建对应的表结构,如上例中的...

    log4j输出日志到数据库表中

    **标题解析:** "log4j输出日志到数据库表中" 指的是使用Log4j这个流行的Java日志框架,将日志记录存储在数据库的特定表中,而不是默认的文本文件或控制台。这通常是出于日志管理、分析和长期存储的需求。 **描述...

    用maven + spring mvc +JDBCTEMPLATE +由Slf4j实现Common-Logging+Log4j的日志控制(数据库用MySQL)

    本文将探讨如何使用Maven、Spring MVC、JDBCTEMPLATE和日志框架Slf4j实现一个基于MySQL数据库的简单注册功能。首先,我们需要搭建一个开发环境,选用的技术栈包括: 1. **Maven** - 作为项目管理和构建工具,Maven...

    log4j添加日志到数据库和文件中

    Log4j是Apache的一个开源项目,它为Java应用程序提供了一个灵活的日志系统。这个系统能够帮助开发者记录程序运行过程中的各种信息,包括错误、警告、调试信息等,这对于软件的维护和故障排查至关重要。Log4j的核心...

    简单java操作log4j+Mysql存储日志信息

    如果是一个服务,它可能负责收集和处理应用程序的日志,然后通过Log4j和MySQLAppender将这些日志存储到MySQL数据库中。 总结起来,通过使用Log4j与MySQL的集成,我们可以实现对日志的详细控制,并将这些日志安全地...

    mysql和log4j的jar包

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而Log4j则是Java平台上广泛使用的日志记录框架。这两个组件在软件开发中起着至关重要的作用,尤其是在Java应用程序中。 MySQL是一款开源、免费的SQL数据库,它...

    日志配置到文件,数据库

    - `log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout`:定义输出到数据库的日志格式。 **5. 按天滚动的日志文件配置** - `log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender`:指定...

    log4j学习笔记及写入数据库配置

    Log4j,作为Apache组织开发的一款开源日志框架,是Java世界中最常用的日志记录工具之一。本文将深入探讨Log4j的基本概念、配置方式以及如何将其配置来将日志信息写入数据库。 首先,我们来理解一下Log4j的核心概念...

    net6 控制台+ log4net+写数据库+自定义字段

    在.NET 6框架下,构建一个控制台应用并结合log4net进行日志记录,同时将日志数据存储到数据库并支持自定义字段,是一项常见的系统监控和故障排查任务。以下将详细介绍如何实现这一功能。 首先,log4net是Apache的一...

    log4j 数据库,邮件,html 等配置

    这段配置会将日志信息按照指定的模式写入MySQL数据库。 二、邮件日志通知 当系统出现异常或关键错误时,通过电子邮件即时通知开发者或运维人员显得尤为重要。Log4j的SMTPAppender可以帮助实现这一功能。你需要配置...

    myBaits所有jar包,包括log4j所需jar包,mysql所需jar包,导入后可以直接使用

    这个压缩包包含了MyBatis框架运行所必需的jar包,同时也提供了log4j和MySQL数据库连接所需的库,以及可能用于Maven构建系统的相关依赖。以下是对这些关键组件的详细解释: 1. **MyBatis jar包**:MyBatis的核心库...

    hibernate3.3.2+commons-lang2.3+slf4j1.5.8+log4j1.2.16.zip

    SLF4J提供了一个绑定机制,允许开发者在编译时或运行时选择特定的日志实现,如Log4j、Java Util Logging等。这个版本的SLF4J为开发者提供了更多的灵活性,可以根据项目的具体需求选择合适的日志解决方案。 最后,`...

    mysql驱动包.zip

    9. **slf4j-api-1.7.5.jar**:Simple Logging Facade for Java,SLF4J提供一个简单的日志记录接口,允许在部署时插入任何日志实现,包括Log4j、JDK日志等。 在开发基于MyBatis的Java应用时,这些jar文件通常会被...

    log4cxx源代码(apache-log4cxx+apr+apr-util+sed)

    log4cxx是Apache软件基金会开发的一个C++版的日志框架,它是基于Java的log4j的移植。这个库提供了灵活的日志记录功能,允许开发者在不同级别(如DEBUG, INFO, WARN, ERROR, FATAL)记录日志信息,支持多种输出方式,...

Global site tag (gtag.js) - Google Analytics