在使用log4j往数据库里写日志时 有以下两种方式可实现:
1. 在自己重写的MyJDBCAppender中 手动调用applicationContext.xml时 在手动获取datasource (bean)
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); dataSource = (DataSource) context.getBean("dataSource");
2. 在自己重写的MyJDBCAppender中通过以下方式调用bean
ServletContext sc=(ServletContext)MyServletContextListener.local.get(); ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(sc); dataSource = (DataSource) context.getBean("dataSource");
以上方式需要获取到servletContext。通过在web.xml添加一个监听器,在监听器中获取servletContext并存至本地:
public class MyServletContextListener implements ServletContextListener{ public static ThreadLocal local=new ThreadLocal(); private ServletContext context=null; public void contextDestroyed(ServletContextEvent event) { this.context=null; } //初始化 public void contextInitialized(ServletContextEvent event) { this.context=event.getServletContext(); local.set(context);//放到线程池 } }
web.xml中配置
<listener> <listener-class>com.xxxx.www.util.MyServletContextListener</listener-class> </listener>
在MyJDBCAppender 中调用
ServletContext sc=(ServletContext)MyServletContextListener.local.get();
ok,第二种方式顺利拿到spring中的各种bean.
相关推荐
本文将深入探讨如何使用Log4j将日志信息写入数据库,以实现更高级别的日志管理和分析能力。 首先,Log4j是一个开源的日志记录工具,它允许程序员根据不同的级别(如DEBUG、INFO、WARN、ERROR和FATAL)记录应用程序...
在Java开发中,日志记录是一项非常重要的任务,它能够帮助开发者追踪程序运行时的状态,定位错误和异常,便于后期的调试...总之,理解和掌握Log4j的使用,能够极大地方便开发者进行日志管理和故障排查,提升开发效率。
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver log4j.appender.DATABASE....
这些级别可以自定义,但 Log4j 建议只使用四个级别:ERROR、WARN、INFO 和 DEBUG。 四、Appenders Appenders 是 Log4j 的输出目的地,用于将日志信息输出到不同的目的地。Log4j 提供了多种 Appenders,包括: 1. ...
### log4j 使用详解 #### 一、log4j 简介与作用 log4j 是一个由 Apache 提供的开源日志组件,专为 Java 应用程序设计。它能够帮助开发者轻松记录应用程序运行时的信息,这些信息通常被称为“日志”。通过 log4j,...
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender log4j.appender.DB.URL=jdbc:mysql://localhost:3306/mydatabase log4j.appender.DB.Driver=com.mysql.jdbc.Driver log4j.appender.DB.User=myuser log4...
log4j.appender.db=org.apache.log4j.jdbc.JDBCAppender log4j.appender.db.URL=jdbc:mssql://localhost:1433/WdzLog log4j.appender.db.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver log4j.appender.db....
《深入学习log4J》是一本专注于Java日志框架Log4J的专业书籍,旨在帮助开发者深入理解并熟练运用Log4J进行系统日志管理和分析。Log4J是Apache组织开发的一个开源日志记录工具,广泛应用于Java应用程序中,提供灵活的...
### Log4j 日志信息存储到数据库中的配置与使用 #### 概述 在软件开发过程中,日志记录是至关重要的环节之一。它不仅能够帮助开发者追踪程序运行时的状态,还可以在系统出现故障时提供诊断信息。Apache Log4j 是一...
Log4j是一个广泛使用的日志记录框架,它允许开发者在应用程序中轻松地记录各种日志信息。对于大型系统和分布式环境来说,将日志写入数据库可以提供更强大的查询、分析和故障排查能力。本文将详细阐述如何配置Log4j以...
总的来说,“使用log4j记录日志到数据库”涉及Java日志管理、数据库操作和系统监控等多个方面。理解并熟练运用Log4j的配置和定制,能够帮助开发者更有效地管理和分析系统的运行状况,提升问题定位和解决效率。
在IT行业中,日志管理是系统监控和故障排查的重要环节,而Log4j作为Java领域广泛使用的日志框架,为开发者提供了强大的日志记录功能。本篇将详细介绍如何配置Log4j来将日志信息存储到MySQL数据库中,以实现日志的...
当你的Java应用运行时,Log4j会通过DBCP连接池连接到MySQL数据库,并将日志信息存储到`log`表中。这样,你可以方便地对日志进行集中管理和分析,有助于系统维护和故障排查。 这个过程涉及的知识点包括: 1. Log4j的...
Log4j Appender 配置详解 Log4j 是一个 Java 语言下的日志记录工具库,它提供了灵活的日志记录机制,可以将日志信息写入到控制台、文件、数据库等多种目标中。在 Log4j 中,Appender 是一种输出目标,它负责将日志...
无论是大型企业级应用还是小型项目,Log4j都能提供合适的日志管理方案,帮助开发者轻松地捕获、管理和分析应用程序的运行状态。 #### 参考文档与配置文件 深入了解Log4j的最佳方式之一是查阅官方文档和社区资源。...
**标题解析:** "log4j输出日志到数据库表中" 指的是使用Log4j这个流行的Java日志框架,将日志记录存储在数据库的特定表中,而不是默认的文本文件或控制台。这通常是出于日志管理、分析和长期存储的需求。 **描述...
<appender name="DBAppender" class="org.apache.log4j.jdbc.JDBCAppender"> <param name="URL" value="jdbc:mysql://localhost:3306/logdb" /> <layout class="org.apache.log4j.PatternLayout"> ``` ...
要将日志写入数据库,我们需要配置一个使用数据库Appender的Log4j配置文件。以下是一个基本的配置示例: ```xml <appender name="DB" class="org.apache.log4j.jdbc.JDBCAppender"> ...
本工程用于研究log4j日志输出目的地org.apache.log4j.jdbc.JDBCAppender的使用方法 本工程编码方式:UTF-8 本工程开发工具:MyEclipse 本工程需要执行的SQL语句: CREATE DATABASE `test`; CREATE TABLE `...