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.properties`配置示例,用于将日志写入数据库: ``` log4j.rootLogger=DEBUG, DBAppender log4j.appender.DBAppender=org.apache.log4j.jdbc.JDBCAppender log4j.appender.DBAppender.URL=...
在我们的示例中,我们关注的是如何配置Log4j2以将日志写入MySQL数据库。首先,我们需要在`log4j2.xml`配置文件中定义一个使用JDBC Appender的配置: ```xml <ConnectionFactory class="org.apache.logging....
要将日志写入数据库,我们需要配置一个使用数据库Appender的Log4j配置文件。以下是一个基本的配置示例: ```xml <appender name="DB" class="org.apache.log4j.jdbc.JDBCAppender"> ...
要实现Log4j将日志写入数据库,我们需要以下关键组件: 1. **配置文件**:这是Log4j的核心,用于定义日志的输出行为。在`log4j.properties`或`log4j.xml`中,我们需要添加一个Appender(输出端点),指定其为数据库...
通过log4net,C#开发者可以轻松地将日志信息写入到数据库,便于后期的数据分析和问题排查。合理配置和使用log4net,不仅能提高开发效率,还能确保系统的稳定性和可靠性。在实际项目中,可以根据具体需求调整log4net...
- 例如,要将日志写入文本文件,可以创建一个appender(输出端点)并指定文件路径。 3. **记录数据库异常** - 当数据库操作出现错误时,可以通过捕获`SqlException`或其他特定数据库异常类,然后使用log4net记录...
对于大型系统和分布式环境来说,将日志写入数据库可以提供更强大的查询、分析和故障排查能力。本文将详细阐述如何配置Log4j以将日志信息存储到数据库中。 首先,我们需要在数据库中创建一个适合存储日志数据的表。...
2. **log4j-couchdb**:CouchDB是一个开源的文档数据库,此组件使得Log4j可以将日志数据存储到CouchDB中,便于数据分析和检索。新版本可能增强了数据存储的性能和安全性,以及与CouchDB的兼容性。 3. **log4j-...
#### 四、使用JDBCAppender将日志写入数据库 在Log4j中,通过`JDBCAppender`组件可以轻松实现将日志信息写入数据库的功能。`JDBCAppender`利用JDBC技术将日志消息异步写入数据库表中。 ##### 1. 实现步骤: **...
这篇博客“使用log4j记录日志到数据库”将介绍如何配置和使用Log4j,以便将日志信息存储到数据库中,而非传统的文本文件。数据库存储的日志便于进行结构化查询,有助于进行长期的数据分析和管理。 首先,理解Log4j...
4. **Appenders**:Appenders是Log4j中负责将日志写入目标(如控制台、文件、数据库等)的组件。2.8.2版本可能会引入新的Appender类型,或者对现有Appender进行性能优化。 5. **异步日志记录**:Log4j 2引入了异步...
在学习Log4j的过程中,阅读“log4j学习笔记及写入数据库配置”这份资料将有助于深入理解Log4j的使用,包括具体的配置步骤、常见问题以及最佳实践。通过实践,你可以更好地掌握如何利用Log4j来提升你的应用程序的可...
- `log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout`:定义输出到数据库的日志格式。 **5. 按天滚动的日志文件配置** - `log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender`:指定...
在上述配置中,我们设置了AdoNetAppender,它将日志信息存储到SQL Server数据库的ErrorLog表中。如果需要,可以自定义表结构,以便包含更多相关信息,如机器名、用户名等。此外,Log4Net还支持其他类型的Appender,...
4. **插件体系**:Log4j拥有强大的插件系统,如Appender和Layout,可以根据需要扩展功能,如发送日志到远程服务器、写入数据库等。 5. **MDC与NDC**:Log4j-SLF4J-Impl支持Mapped Diagnostic Context (MDC) 和...
6. **性能考虑**:将日志写入数据库可能会对系统性能产生影响,因此需要合理配置日志级别,避免频繁的数据库操作。此外,可以使用异步方式写入日志,减少阻塞。 7. **日志审计与安全**:将日志存储在数据库中有利于...
5. **日志写入SQL Server**: log4net通过数据库Appender将日志信息写入SQL Server。这需要配置数据库连接字符串、存储过程或者直接的SQL语句来插入日志记录。通常,日志表会包含日期、时间、日志级别、源、消息等...
2. **数据库日志**:要将日志写入数据库,我们需要使用DBAppender。首先,确保你的应用程序连接到数据库,然后配置Log4j连接到同一个数据库。例如,使用JDBCAppender: ``` log4j.appender.DB=org.apache.log4j....
在使用log4net将日志写入MySQL之前,需要配置log4net的`AdoNetAppender`。首先,确保安装了`MySql.Data`库,这是MySQL .NET Connector,用于.NET应用程序与MySQL数据库的连接。然后,在log4net配置文件中添加以下...