`

log4j+数据库的使用

    博客分类:
  • java
阅读更多

这个内容比较全面、

http://www.cnblogs.com/suman/archive/2010/10/23/1858864.html

这个内容应该算为扩展

http://blog.sina.com.cn/s/blog_4e4dd5570100qp0v.html

上面两个结合就可以使用Log4j,具休源码我再发好地址

Log.java

复制代码
package cn.ssh.entity;

import javax.persistence.Entity;

import javax.persistence.Id;
import javax.persistence.GeneratedValue;
import javax.persistence.Table;

@Entity
@Table(name="log")
public class Log {
    private int id;
    private String log_date;
    private String log_message;
    private String user;
    
    @Id @GeneratedValue
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getLog_date() {
        return log_date;
    }
    public void setLog_date(String log_date) {
        this.log_date = log_date;
    }
    public String getLog_message() {
        return log_message;
    }
    public void setLog_message(String log_message) {
        this.log_message = log_message;
    }
    public String getUser() {
        return user;
    }
    public void setUser(String user) {
        this.user = user;
    }
    
}
复制代码

 

log4j.properties

复制代码
log4j.rootLogger=info,DATABASE
##控制台输出
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File = E:\temp\logging.log
log4j.appender.R.MaxFileSize=500KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n

log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.BufferSize = 1
log4j.appender.DATABASE.Threshold=DEBUG 
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/ssh?useUnicode=true&characterEncoding=UTF-8
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
log4j.appender.DATABASE.user=root
log4j.appender.DATABASE.password=123456
log4j.appender.DATABASE.sql=INSERT INTO log (log_date,log_message,user) values ("%d{yyyy-MM-dd HH:mm:ss,SSS}","%m,%d{SSS}","%X{user}") 
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.logger.org.hibernate=debug
log4j.logger.org.hibernate.type=debug
复制代码

类中的代码:

private static Log logger = LogFactory.getLog(LoginAction.class); //LoginAction.class 是一个类名字
MDC.put("user", "zhangpengfei");//插入的 user %X{user}
logger.info ("用户登陆") ;//插入的 log_message %m 


在使用中遇到的两个问题:

1.出现中文乱码 ??

解决方法:log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/ssh?useUnicode=true&characterEncoding=UTF-8 里面的 & 和xml里面的 &asm; 相同

2,Data truncation: Data too long for column 'log_message' at row 1

解决方法:'log_message'在数据库里设成 longText

其中有个错误不太一样,是你们数据库编码不正确,我数据库做的标准,没出错误,上面是操作这个过程中出现的错误,希望能帮到大家,我用的MYsql数据库

分享到:
评论

相关推荐

    Log4j+MongoDB 完整实例

    Log4j是Java平台上广泛使用的日志记录框架,它提供了灵活的日志配置和丰富的日志输出功能。而MongoDB则是一款高性能、开源的NoSQL数据库,特别适合处理和存储大量非结构化数据,如日志数据。在这个"Log4j+MongoDB...

    log4j + slf4j-api + slf4j-log4j12

    slf4j-log4j12-1.7.x版本是SLF4J针对Log4j 1.2版本的绑定器,它使得应用可以使用SLF4J接口,但实际的日志输出通过Log4j进行。这个桥接器让项目能利用SLF4J的灵活性,同时使用Log4j的成熟实现。 在提供的文件名列表...

    log4j写入数据库配置

    在这个文件中,我们定义了一个名为`JDBC`的日志输出器,它使用`org.apache.log4j.jdbc.JDBCAppender`来实现数据库记录。以下是一个示例配置: ```properties log4j.rootLogger=ERROR, stdout, JDBC # 设置日志追加...

    log4j+properties

    **log4j** 是一个广泛使用的Java日志框架,由Apache软件基金会开发。它允许开发者记录应用程序运行过程中的各种信息,如调试、警告、错误等不同级别的日志,便于后期分析和故障排查。Log4j包含三个主要部分:日志...

    Log4j+使用方法+配置文件log4j.properties

    除了基础功能外,Log4j还支持自定义Appender和Layout,可以与其他系统集成,如数据库、分布式日志系统等。此外,还可以通过添加Filter来过滤特定的日志信息,提高日志管理效率。 总的来说,Log4j作为一个强大且...

    hibernate+slf4j+log4j+junit包

    在Java开发领域,Hibernate、SLF4J、Log4j以及JUnit是四个非常重要的库,它们各自服务于不同的目的,但又常被一起使用以构建高效、可维护的项目。让我们来详细了解一下这些技术和它们在软件开发中的作用。 1. ...

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

    本文将详细介绍如何在Java中使用Log4j来记录日志,并将其写入数据库。 首先,我们需要了解Log4j的基本结构。一个简单的Log4j项目通常包含以下几个部分: 1. **配置文件**:Log4j的配置文件通常是`log4j.properties...

    log4j2.xml记录日志到到数据库

    本示例将详细介绍如何配置并使用Log4j2将日志信息记录到MySQL数据库中。 首先,我们要理解Log4j2的核心概念。Log4j2主要包括以下几个组件: 1. **配置文件**:如`log4j2.xml`,这是Log4j2的配置中心,定义了日志...

    Log4j写入数据库详解

    通过以上步骤,我们成功实现了使用Log4j将日志信息写入数据库的功能。这种方式不仅能够帮助我们更好地管理日志信息,同时也为后续的数据分析提供了便利。在实际应用中,可以根据具体需求调整日志表结构和配置参数,...

    ZK 前端框架 继承 SpringMVC +maven + log4j2 + slf4j + durid 数据库加密

    综上所述,这个项目利用了ZK作为前端框架,SpringMVC处理后端业务逻辑,Maven负责项目构建与依赖管理,log4j2与SLF4J进行日志记录,而Durid则作为高效的数据库连接池。整个系统设计考虑了开发效率、日志记录、数据库...

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

    在这个场景中,我们使用了SLF4J(Simple Logging Facade for Java)作为日志抽象层,它为各种日志框架提供了统一的API,而SLF4J-log4j12-1.5.0.jar和slf4j-api-1.5.0.jar正是SLF4J与Log4j之间的桥梁,使得我们可以...

    spring+springmvc+mybatis+log4j+springtest的demo

    这是一个基于Java技术栈的Web应用示例项目,主要采用了Spring、SpringMVC、MyBatis、Log4j和SpringTest等组件。以下是这些技术及其在项目中的应用详解: 1. **Spring**:Spring是一个全面的Java企业级应用开发框架...

    ssh+aop+log4j+日志拦截器+注解

    标题中的"ssh+aop+log4j+日志拦截器+注解"涉及到的是Java Web开发中的几个核心组件和技术,这些技术在构建大型、分布式的企业级应用时常常被使用。下面将详细介绍这些知识点: 1. SSH (Spring, Struts, Hibernate)...

    Log4j2结合Slf4j配置使用

    Log4j2 结合 Slf4j 配置使用 Log4j2 是一个功能强大且广泛使用的日志记录工具,它提供了灵活的日志记录机制和高性能的日志记录能力。Slf4j 则是一个简单的日志记录门面,提供了统一的日志记录接口。今天,我们将...

    ssh2+log4j+异常简单框架

    4. **Log4j**:Log4j是Apache的一个开源项目,是一个广泛使用的日志记录工具。它允许开发者以灵活的方式记录应用运行过程中的信息,包括错误、警告和调试信息。Log4j的使用有助于在开发和生产环境中进行问题排查和...

    SSM+redis+log4j+swagger

    SSM+redis+log4j+swagger 是一个基于Java的Web开发组合,涵盖了Spring、SpringMVC、MyBatis三个核心框架,以及Redis缓存、Log4j日志管理和Swagger API文档工具。以下是对这些技术栈的详细说明: 1. **Spring**:...

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

    在"log4j添加日志到数据库和文件中"的场景中,我们首先需要理解Log4j的基本架构。它主要由三个组件构成:Logger(日志器)、Appender(输出器)和Layout(布局)。Logger负责生成日志事件,Appender则负责将这些事件...

    ssmdemo+log4j写入数据库

    【标题】"ssmdemo+log4j写入数据库"是一个关于使用Spring、SpringMVC、MyBatis和Log4j框架集成实现日志记录到数据库的案例。在这个项目中,开发者正在探索如何将Log4j的日志信息存储在数据库中,以便进行更有效的...

    slf4j+log4j

    总的来说,SLF4J和Log4j的结合使用提供了强大的日志处理能力,使得开发者可以在保持代码简洁的同时,灵活地调整日志输出,便于调试和问题排查。在实际项目中,正确配置和使用这两个工具对于提高开发效率和维护性至关...

    log4j 配置mysql 数据库 demo

    在IT行业中,日志管理是系统监控和故障排查的重要环节,而Log4j作为Java领域广泛使用的日志框架,为开发者提供了强大的日志记录功能。本篇将详细介绍如何配置Log4j来将日志信息存储到MySQL数据库中,以实现日志的...

Global site tag (gtag.js) - Google Analytics