首先看的是配置文件。这个配置文件一般都是放在src的根目录下面。在web工程里面也是如此.
下面的log4j是打印在控制台里面的(本人使用的是MyEclipse7.5)
log4j.properties
#可以设置级别:debug>info>error #debug:显示debug、info、error #info:显示info、error #error:只error log4j.rootLogger=debug,appender1 #log4j.rootLogger=info,appender1 #log4j.rootLogger=error,appender1 #输出到控制台 log4j.appender.appender1=org.apache.log4j.ConsoleAppender #样式为TTCCLayout log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
在Test类里面
private static Logger logger = Logger.getLogger(UserDAO.class); public static void main(String[] args) { logger.warn("操作"); // logger.info("INFO"); // logger.debug("Debug"); // logger.error("操作"); }
这样将内容打印到控制台了。
存放到数据库里面
这时就将log4j记录下的操作存放到数据库里面
首先还是配置log4j.properties
log4j.rootLogger=INFO,DATABASE #直接使用log4j包中的文件 log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender log4j.addivity.org.apache=true #与数据库建立连接 log4j.appender.DATABASE.driver=驱动名 log4j.appender.DATABASE.URL=连接数据库的url log4j.appender.DATABASE.user=用户 log4j.appender.DATABASE.password=密码 #指定要插入数据库的格式,具体参数的格式看一开始给出的文档 # %p 级别 %C 包名 %M 方法名 %L 位置,行数 %m 信息 log4j.appender.DATABASE.sql=INSERT INTO log4j (log_date, log_level, location, message) VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%p', '%C,%M,%L', '%m') #log4j.appender.DATABASE.layout.ConversionPattern=%d %c %p %m%n log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
这样就配置好了。
然后用上面的测试类测试一下就ok了。
前提是已经建立好log4j 这个表。
特别强调一下就是关于复制这段代码后,你jar包导入了,sql语句检查也没有问题,配置文件一切正常。
但是还是会报错。类似log4j:ERROR Failed to load driver(加载驱动失败) ,log4j:ERROR Failed to excute sql(执行sql失败)这样的错。
这个问题相当幼稚。就是因为在复制代码的过程中,有一些空格也被复制到里面。
然后可能log4j在加载配置的同事也认识空格,把空格也加载进去。导致错误。
所以要注意。
分享到:
相关推荐
**标题解析:** "log4j输出日志到数据库表中" 指的是使用Log4j这个流行的Java日志框架,将日志记录存储在数据库的特定表中,而不是默认的文本文件或控制台。这通常是出于日志管理、分析和长期存储的需求。 **描述...
MyBatis是一个轻量级的持久层框架,它允许开发者直接编写SQL来操作数据库;SSM是Spring、SpringMVC和MyBatis三个框架的组合,常被用来搭建Java Web应用。而"log4j"则是Apache的一个开源日志组件,广泛应用于各种Java...
总的来说,“使用log4j记录日志到数据库”涉及Java日志管理、数据库操作和系统监控等多个方面。理解并熟练运用Log4j的配置和定制,能够帮助开发者更有效地管理和分析系统的运行状况,提升问题定位和解决效率。
本教程将详细介绍如何配置Log4j以使用DBCP连接池,并将日志信息存储到MySQL数据库中。 首先,我们需要在项目中引入Log4j和DBCP的相关依赖。对于Maven项目,可以在pom.xml文件中添加如下依赖: ```xml ...
除了基本的日志功能,Log4j还支持与其他日志框架(如Logback)的互操作,以及与Spring等框架的集成,提供更强大的日志管理和监控能力。 通过这个"log4j示例项目",我们可以亲手实践这些概念,更好地理解和运用Log4j...
本资料主要围绕MyBatis的基本CRUD操作和动态SQL展开,同时包含了日志配置文件`log4j.properties`,用于帮助调试和优化应用程序的日志输出。 首先,MyBatis的核心概念是Mapper接口和XML映射文件。在创建CRUD操作时,...
Log4j不仅支持标准输出,如控制台,还可以写入文件、数据库,甚至通过网络发送,极大地增强了日志的管理和分析能力。 二、核心组件 1. **Logger**:日志记录器是Log4j的核心组件,负责接收日志消息并决定是否记录...
Log4j是一个广泛使用的Java日志框架,由Apache软件基金会开发。它为应用程序提供了一种灵活的日志记录机制,使得开发者...在实际操作中,开发者还需要理解Log4j的配置和使用方法,以充分利用其功能并优化日志处理流程。
深入研究Log4j 1.2.16的源代码,你可以了解到如何实现日志事件的线程安全处理,以及如何优化日志性能,比如通过缓存日志输出格式来减少不必要的字符串连接操作。此外,源码中还包含了一些关键的类,如Category...
这样,当应用程序执行数据库操作时,Log4j不仅会记录应用的常规信息,还会捕获并记录与MySQL相关的调试信息,这对于调试和优化数据库查询非常有用。 总之,MySQL JDBC驱动和Log4j在Java开发中是两个不可或缺的工具...
log4jdbc是一个开源项目,它允许开发者通过日志系统来追踪数据库操作,而log4j2是log4j的升级版,提供了更强大的日志管理和性能优化功能。这篇简记可能是关于如何整合这两个工具以实现对数据库活动的透明化监控。 ...
《深入理解Log4j 2.15.0-rc2:Java日志框架的核心组件》 在Java开发中,日志系统扮演着至关重要的角色,它帮助开发者追踪程序运行时的问题,提供调试信息,以及记录关键操作。Log4j是Apache组织开发的一款广泛使用...
2. **配置log4j2**:在你的项目中创建一个log4j2的配置文件(通常是`log4j2.xml`或`log4j2.json`)。在配置文件中,你需要定义一个Appender,将日志输出到MongoDB。这可能涉及到MongoDBAppender类,它可以将日志事件...
SLF4J(Simple Logging Facade for Java)和Log4j是Java开发中常用的日志处理框架。SLF4J提供了一个抽象层,允许开发者在运行时插入所需的日志实现,而Log4j则是一个具体的日志实现,以其强大的功能和灵活性著称。...
Log4j允许开发者自定义日志输出的方式,包括输出到控制台、文件、数据库等。它使用了`QuietWriter`类来写入日志,`QuietWriter`继承自`FilterWriter`,而`FilterWriter`又继承自`Writer`。`Writer`类处理的是字符流...
2. **影响范围**:任何使用Log4j 2.0至2.14.1版本的Java应用都可能受到影响,包括但不限于Web服务器、数据库、云服务等。 3. **缓解措施**:更新到不受影响的Log4j版本(如2.15.0或更高),或者在无法立即更新的...
集成Log4j到Hibernate框架中,主要是为了记录SQL语句和执行时间,这对于数据库操作的调试非常有用。以下是配置示例: ```properties # Hibernate日志配置 log4j.category.org.hibernate.SQL=DEBUG log4j.category....
《深入学习log4J》是一本专注于Java日志...通过学习,读者不仅可以掌握Log4J的基本操作,还能理解如何在实际项目中有效地应用Log4J,提升系统的可维护性和稳定性。对于Java开发者来说,这是一份非常有价值的参考资料。
Log4j 2采用了插件化设计,允许开发者轻松添加新的Appenders(如文件、数据库、SMTP等)、Layouts(如JSON、Pattern、XML等)和Filters。这大大增强了框架的可扩展性。 **4. JSON Support** 对于现代分布式系统,...
本教程将详细阐述如何使用四个关键组件——Maven、SpringMVC、MyBatis和Log4j——来搭建一个强大的Web应用框架,旨在提高开发效率并优化项目管理。 **Maven** 是一个流行的项目管理和综合工具,它通过统一的构建...