首先将log4j的jar包和Logging的jar包导入到你的工程中,然后在工程src目录创建一个属性文件:log4j.properties,也可以放在某个包中,但是获取这个属性文件的时候就需要制定路径。
1.创建日志数据表:
CREATE TABLE log (
[Id] [int] IDENTITY (1, 1) primary key NOT NULL ,
[Lg_Date] [datetime] NOT NULL ,
[Lg_Thread] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Lg_Level] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Lg_Class] [varchar] (200) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Lg_Message] [varchar] (2000) COLLATE Chinese_PRC_CI_AS NOT NULL
)
GO
2.写log4j.properties文件,这里我的数据库举动是用的JTDS:
# level : 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。
# Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。
log4j.rootLogger=ERROR,DATABASE
log4j.addivity.org.apache=true
# 用于数据库
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL=jdbc:jtds:sqlserver://localhost:1433;DatabaseName=databasename
log4j.appender.DATABASE.driver=net.sourceforge.jtds.jdbc.Driver
log4j.appender.DATABASE.user=username
log4j.appender.DATABASE.password=password
# 本处设置为"WARN"以上级别在数据库存储(默认情况使用rootLogger中的设置)
log4j.appender.DATABASE.Threshold=DEBUG
log4j.appender.DATABASE.sql=INSERT INTO log(optime,thread,infolevel,class,message) VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%l', '%m')
# 写入数据库中的表LOG4J的Message字段中,
# 内容%d(日期)%c: 日志信息所在地(类名)%p: 日志信息级别%m: 产生的日志具体信息 %n: 输出日志信息换行
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
3.在程序中需要将日志信息写入数据库的地方写入如下代码:
private Log logger = LogFactory.getLog(this.getClass());
logger.info("信息:......");
logger.debug("调试:......");
logger.warn("警告:......");
logger.error("错误:......");
分享到:
相关推荐
下面是一个简单的`log4j.properties`配置示例,用于将日志写入数据库: ``` log4j.rootLogger=DEBUG, DBAppender log4j.appender.DBAppender=org.apache.log4j.jdbc.JDBCAppender log4j.appender.DBAppender.URL=...
要将日志写入数据库,我们需要配置一个使用数据库Appender的Log4j配置文件。以下是一个基本的配置示例: ```xml <appender name="DB" class="org.apache.log4j.jdbc.JDBCAppender"> ...
在我们的示例中,我们关注的是如何配置Log4j2以将日志写入MySQL数据库。首先,我们需要在`log4j2.xml`配置文件中定义一个使用JDBC Appender的配置: ```xml <ConnectionFactory class="org.apache.logging....
要实现Log4j将日志写入数据库,我们需要以下关键组件: 1. **配置文件**:这是Log4j的核心,用于定义日志的输出行为。在`log4j.properties`或`log4j.xml`中,我们需要添加一个Appender(输出端点),指定其为数据库...
在Log4j中,通过`JDBCAppender`组件可以轻松实现将日志信息写入数据库的功能。`JDBCAppender`利用JDBC技术将日志消息异步写入数据库表中。 ##### 1. 实现步骤: **步骤一:添加依赖** 确保项目中有log4j和commons...
这篇博客“使用log4j记录日志到数据库”将介绍如何配置和使用Log4j,以便将日志信息存储到数据库中,而非传统的文本文件。数据库存储的日志便于进行结构化查询,有助于进行长期的数据分析和管理。 首先,理解Log4j...
**标题解析:** "log4j输出日志到数据库表中" 指的是使用Log4j这个流行的Java日志框架,将日志记录存储在数据库的特定表中,而不是默认的文本文件或控制台。这通常是出于日志管理、分析和长期存储的需求。 **描述...
为了将Log4j日志发送到Kafka,我们需要在Log4j的配置文件(通常是log4j.properties或log4j.xml)中添加`KafkaAppender`。以下是一个基本的Log4j配置示例: ```properties # 在log4j.properties中配置KafkaAppender ...
本文将深入探讨Log4j的基本概念、配置方式以及如何将其配置来将日志信息写入数据库。 首先,我们来理解一下Log4j的核心概念。Log4j主要包括三个组件:Logger(日志器)、Appender(输出器)和Layout(布局)。...
2. **数据库日志**:要将日志写入数据库,我们需要使用DBAppender。首先,确保你的应用程序连接到数据库,然后配置Log4j连接到同一个数据库。例如,使用JDBCAppender: ``` log4j.appender.DB=org.apache.log4j....
一、运行部署 1、将LogerWriteMySqlDemo项目导入Eclipse 2、修改db.properties文件中数据库...三、配置文件db.properties、log4j.properties两个配置文件可以通过servlet配置来使用,也可以直接先用DbUtil.java中先测试
此标题指出了本文档的主要目的,即介绍如何在Java应用程序中将日志信息配置并输出到文件以及数据库中。 #### 描述:非常实用,但是有些小瑕疵,自己注意修改,有更好的也希望上传,欢迎下载。 这段描述表明该文档...
然后,他们会在Log4j的配置文件(如log4j.properties或log4j.xml)中定义日志级别、Appender,以及将日志写入数据库的自定义Layout。在业务逻辑中,他们会使用Log4j的API(如Logger)记录日志,而这些日志会通过...
Log4j是Java编程语言中广泛使用的日志记录框架,由Apache软件基金会开发。它提供了一个灵活的日志系统,能够帮助开发者记录应用程序运行过程中的各种信息,从调试信息到严重错误,这对于系统的维护、故障排查以及...
- **其他特殊Appender**:如DBAppender(将日志写入数据库)。 3. **Layout(日志格式化器)** - **功能**:用于控制日志信息的输出格式。 - **常见Layout类型**: - **HTMLLayout**:将日志信息格式化为HTML...
在Java开发过程中,为了实现日志管理,我们通常会使用如log4j2这样的日志框架。Log4j2是一个强大的、灵活的日志系统,它提供了丰富的配置选项和高性能的日志记录能力。当我们的应用程序需要将日志信息存储在数据库中...
在Eclipse中使用Log4j,需要在项目的类路径中包含Log4j的jar文件,并创建一个配置文件(通常是log4j.properties或log4j.xml)。配置文件定义了Loggers、Appenders和Layouts,以及它们之间的关联。例如,你可以设置一...
Log4j是一款广泛使用的Java日志记录框架,它允许开发者按照功能模块或特定需求记录应用程序运行过程中的事件信息。在“log4j按功能保存日志”的场景中,我们通常会利用Log4j的配置灵活性,将不同功能的日志分别写入...
假设已经正确配置了log4j.properties文件,接下来是如何在Java代码中使用Log4j。 1. **获取Logger对象**:通过Logger类的静态方法`getLogger`获取对应的Logger对象。 ```java import org.apache.log4j.Logger; ...