Mybatis使用log4j添加日志

Thx

http://ppyymm000.blog.163.com/blog/static/2834658420121141142231/

http://blog.163.com/[email protected]/blog/static/170162360201392105823927/

---------------------------------------分割线是我的矜持---------------------------------------

很多时候需要查看Mybatis执行的sql语句,以及执行情况。我们需要在log4j的配置文件中,添加一段配置。

log4j.rootLogger=DEBUG, sql
log4j.appender.sql=org.apache.log4j.DailyRollingFileAppender
log4j.appender.sql.DatePattern=‘.‘yyyyMMdd
log4j.appender.sql.File=E:\log\sql.log
log4j.appender.sql.layout=org.apache.log4j.PatternLayout
log4j.appender.sql.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} | %m%n

log4j.logger.org.apache.ibatis=DEBUG
log4j.logger.org.apache.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.org.apache.common.jdbc.ScriptRunner=DEBUG
log4j.logger.org.apache.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG

不了解Mybatis内部关于这个log是怎么配置的。经过测试,Mybatis的appender用的是和根级rootLogger用的是同一个

据说 # MyBatis logging configuration ... 这里可以针对package、interface、method或Mapper的namespace进行日志的输出

使用上面的配置已经可以满足我的需求了

2015-04-03 17:02:33 | Acquired Connection [jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8, [email protected], MySQL Connector Java] for JDBC transaction
2015-04-03 17:02:33 | Setting JDBC Connection [jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8, [email protected], MySQL Connector Java] read-only
2015-04-03 17:02:33 | Switching JDBC Connection [jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8, [email protected], MySQL Connector Java] to manual commit
2015-04-03 17:02:33 | Creating a new SqlSession
2015-04-03 17:02:33 | Registering transaction synchronization for SqlSession [[email protected]]
2015-04-03 17:02:34 | JDBC Connection [jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8, [email protected], MySQL Connector Java] will be managed by Spring
2015-04-03 17:02:34 | ==>  Preparing: select id from user WHERE login_name = ? and password = ?
2015-04-03 17:02:34 | ==> Parameters: hehe(String), F379EAF3C831B04DE153469D1BEC345E(String)
2015-04-03 17:02:34 | <==      Total: 1
2015-04-03 17:02:34 | Releasing transactional SqlSession [[email protected]]
2015-04-03 17:02:34 | Transaction synchronization committing SqlSession [[email protected]]
2015-04-03 17:02:34 | Transaction synchronization deregistering SqlSession [[email protected]]
2015-04-03 17:02:34 | Transaction synchronization closing SqlSession [[email protected]]
2015-04-03 17:02:34 | Initiating transaction commit
2015-04-03 17:02:34 | Committing JDBC transaction on Connection [jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8, [email protected], MySQL Connector Java]
2015-04-03 17:02:34 | Resetting read-only flag of JDBC Connection [jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8, [email protected], MySQL Connector Java]
2015-04-03 17:02:34 | Releasing JDBC Connection [jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8, [email protected], MySQL Connector Java] after transaction
2015-04-03 17:02:34 | Returning JDBC Connection to DataSource
时间: 2024-10-05 07:34:30

Mybatis使用log4j添加日志的相关文章

Mybatis用log4j输出日志,输出sql到控制台

log4jar包+log4j.properties百度云下载地址永久有效: https://pan.baidu.com/s/15WZ-lcBPgFa-a6lkTVVvYw 1 导入jar包(直接复制jar包到lib目录下,然后build path),然后新建log4j.properties文件:   百度云中有log4j的书写规范教程. log4j.rootLogger=INFO, stdout, R log4j.appender.stdout=org.apache.log4j.ConsoleA

Mybatis下log4j日志输出不正常的解决办法 ,很实用哦 !!!!

使用Mybatis的时候,有些时候能输出(主要是指sql,参数,结果)日志.有些时候就不能. 无法输出日志的时候,无论怎么配置log4j,不管是properties的还是xml的,都不起作用. 有些时候,我们没做什么配置就能输出日志.... 这是一个让无数人烦躁的问题.其实解决问题很容易(我过了这么久才解决,以前都用拦截器输出). 这是一个普大喜奔的日子,让我们一起来看看如何解决mybatis的日志问题. 为什么说这个问题很容易解决呢?因为mybatis的文档写的很清楚. 为什么我们都没找到解决

mybatis结合log4j打印SQL日志

1.Maven引用jar包 默认的mybatis不能打印出SQL日志,不便于查看调试,须要结合log4jdbc-log4j2就能够完整的输入SQL的调试信息. pom.xml 配置maven.注意以下3个都须要 <dependency> <groupId>org.bgee.log4jdbc-log4j2</groupId> <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId> <version&g

log4j加日志的方法-转

如何使用log4j记录日志第一步:在工程中加入log4j所使用的jar文件1:项目 >  属性 :弹出项目的属性窗口2:Java构建路径>?库>?添加外部JAR:弹出选择JAR的窗口3:通过选择JAR的窗口,找到log4j-1.2.x.jar,并确认4:回到项目的属性窗口,点击确定第二步:创建log4j.properties文件1:选择欲使用log4j的项目>?右键点击src >?新建>?其他 :弹出选择向导窗口2:在选择向导窗口中,选择常规?> 文件?>

Java 使用Log4J进行日志操作

使用Log4J进行日志操作   Log4J简介   Log4J是Apache的一个开放源代码项目,它是一个日志操作包,通过使用Log4J,可以指定日志信息输出的目的地,如控制台.文件.CUI组件.NT的事件记录器:还可以控制每一条日志输出格式.此外,通过定义日志信息的级别,能够非常细致地控制日志的输出,最令人感兴趣的是,这些功能可以通过一个配置文件来灵活进行配置,而不需要修改应程序代码. 在应用程序中输出日志有3个目的: l 监视代码中变量的变化情况,把数据周期性记录到文件中供其他应用进行统计分

使用Log4J进行日志操作

简单配置 #指定logger # 配置Logger组件 # 设定Log4j的日志级别(error warn info debug) # 输出目的地(Console, logfile是appender的名字,是自己定义的,后面才赋予具体的含义) log4j.rootLogger=debug, Console, logfile #######################################################################################

使用log4j让日志写入数据库

之前做的一个项目有这么个要求,在日志管理系统里,需要将某些日志信息存储到数据库里,供用户.管理员查看分析.因此我就花了点时间搞了一下这一功能,各位请看. 摘要:我们知道log4j能提供强大的可配置的记日志功能,有写文件的.打印到控制台的等等,但有时我们需要它把日志输出到后台数据库中,log4j的强大的可扩展性支持了这一点,以下就是具体的实现. 关键词:log,log4j,日志,Java,DB,数据库,slf4j 前提:已经配置好slf4j.log4j,能正常的往文件或控制台写日志. 需求:将日志

配置 mybatis的 log4j.properties

log4j.rootLogger=debug,stdout,logfile ### 把日志信息输出到控制台 ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender #log4j.appender.stdout.Target=System.err log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout ### 把日志信息输出到文件:jbit.log ### log4j.app

关于log4j的日志操作

org.apache.log4j.Logger 详解 概述 1.1. 背景 在应用程序中添加日志记录总的来说基于三个目的 :监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作:跟踪代码运行时轨迹,作为日后审计的依据:担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息. 最普通的做法就是在代码中嵌入许多的打印语句,这些打印语句可以输出到控制台或文件中,比较好的做法就是构造一个日志操作类 来封装此类操作,而不是让一系列的打印语句充斥了代码的主体. http://