`
843977358
  • 浏览: 245461 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mybatis配置log4j控制台打印SQL语句

阅读更多

不尿性,直接入题:

SpringMVC + Mybatis 中 通过log4j向控制台打印SQL语句--->失败!!

上配置:

 

#########################################################################
#Root Logger
#log4j.rootLogger = [ level ] , appenderName, appenderName,
#ConversionPattern:%d{yyyy-MM-dd-HH\:mm\:ss,SSS} [%t]  [%c] [%p] - %m%n  
#FilePath =  /opt/uploads/maven_logs/maven_web.log
#########################################################################
#将Mybatis log4j运行级别调到DEBUG可以在控制台打印出Mybatis运行的sql语句
log4j.rootLogger=DEBUG,Console,File
### 把日志信息输出到控制台 ###
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{yyyy-MM-dd-HH\:mm\:ss,SSS} [%t]  [%c] [%p] - %m%n 
### 把日志信息输出到文件:/opt/uploads/maven_logs/maven_web.log ###
log4j.appender.File = org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File = /opt/uploads/maven_logs/maven_web.log
log4j.appender.File.Threshold = DEBUG
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =%d{yyyy-MM-dd-HH\:mm\:ss,SSS} [%t]  [%c] [%p] - %m%n 

###显示SQL语句部分
log4j.logger.com.mybatis=DEBUG
log4j.logger.com.mybatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.mybatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.mybatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

 各位看官,我这番配置是没问题吧?

 

但是在控制台SQL死活不出来。上网search...

很多很多,看的我眼花缭乱,像什么配置不通(此处槽点,我只是SQL语句打印不出来,其他一切正常,因此忽略)、需要slf4j-api-1.6.1.jar和slf4j-log4j12.-1.6.1.jar (maven库中有,忽略!),然后就是在网上找别人的配置,但是并没有什么卵用!

我急啊!

直接去mybatis文档查,兴许会有关于log的......

功夫不负有心人,果然有!摘抄一段:

Logging
Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具:

SLF4J
Apache Commons Logging
Log4j 2
Log4j
JDK logging
具体选择哪个日志实现工具由MyBatis的内置日志工厂确定。它会使用最先找到的(按上文列举的顺序查找)。 如果一个都未找到,日志功能就会被禁用。

不少应用服务器的classpath中已经包含Commons Logging,如Tomcat和WebShpere, 所以MyBatis会把它作为具体的日志实现。记住这点非常重要。这将意味着,在诸如 WebSphere的环境中——WebSphere提供了Commons Logging的私有实现,你的Log4J配置将被忽略。 这种做法不免让人悲催,MyBatis怎么能忽略你的配置呢?事实上,因Commons Logging已经存 在了,按照优先级顺序,Log4J自然就被忽略了!

 我去!mybatis还会这么玩啊!搞死我了。但是文档中并有直接说明如何通过修改配置文件实现,但是这个文档提供了对log4j的详细配置,值得看一下。文档中说了一大堆代码实现的,不喜欢这种。既然给了思路了是mybatis搞的鬼, 那就继续上网找资料...

 终于,碰到了好心人,解了我的惑!

好心人链接中有,我这儿在赘述一遍:

在mybatis-config.xml配置文件中:

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
	<properties>
		<property name="dialect" value="mysql" />
	</properties>
	<settings>
	 	<setting name="logImpl" value="LOG4J" />  
	</settings>
</configuration>  

 重要的是:

<setting name="logImpl" value="LOG4J" />

在mybatis的配置文件中:setting节点里配置的值会直接改写Configuration对应的变量值,这些变量描述的是Mybatis的全局运行方式,如果对这些属性的含义不熟悉的话建议不要配置,使用默认值即可。

具体的各位看官,自行查找资料,此处不做过多赘述...

 

OK!

 

技能get吐舌头!

 

解决了!!。。。世界和平了, 阿门。。。先写到这...头昏脑涨的

8
2
分享到:
评论
1 楼 mfkvfn 2016-07-08  
话说,我以前出遇到过这问题。后来我去Mybatis官方上找到了解决办法。
Mybatis官方上有的好吧。老版本的文档现在官方找不到了,最新版的文档里有。

英文版:http://www.mybatis.org/mybatis-3/logging.html
中文版:http://www.mybatis.org/mybatis-3/zh/logging.html

相关推荐

    idea mybatis配置log4j打印sql语句的示例

    idea MyBatis 配置 Log4j 打印 SQL 语句示例 MyBatis 是一个流行的持久层框架,用于将 Java 应用程序中的 SQL 语句与数据库进行交互。Log4j 是一个流行的日志记录工具,用于记录 Java 应用程序中的日志信息。在实际...

    mybatis查询入门(log4j控制台sql语句日记输出的)

    【标题】"mybatis查询入门(log4j控制台sql语句日记输出的)"涉及的知识点主要集中在MyBatis框架的基础使用以及如何通过Log4j在控制台输出SQL语句,以便于调试和优化数据库操作。MyBatis是一个轻量级的Java持久层框架...

    mybatis配置文件以及日志文件Log4j

    例如,你可以配置Log4j的日志输出级别为DEBUG,那么在运行时,MyBatis会打印出每个SQL语句及其参数,便于查看和调试。 在实际项目中,MyBatis的配置文件通常会包含以下部分: 1. 数据源配置:定义数据库连接的信息...

    Mybatis Log(自动填充sql参数打印到控制台)

    在执行`getUserByUsernameAndStatus`方法时,Mybatis会自动填充SQL参数,并将完整的SQL语句(包括参数值)打印到控制台。例如,如果传入的参数是`username='test'`和`status='active'`,控制台将输出如下内容: ```...

    ideal mybatis打印sql插件

    把 mybatis 输出的sql日志还原成完整的sql语句。 将日志输出的sql语句中的问号 ? 替换成真正的参数值。 通过 "Tools -&gt; MyBatis Log Plugin" 菜单或快捷键 "Ctrl+Shift+Alt+O" 启用。 点击窗口左边的 "Filter" ...

    maven+springmvc+mybatis+log4j框架搭建

    本教程将详细阐述如何使用四个关键组件——Maven、SpringMVC、MyBatis和Log4j——来搭建一个强大的Web应用框架,旨在提高开发效率并优化项目管理。 **Maven** 是一个流行的项目管理和综合工具,它通过统一的构建...

    mybatis打印SQL的log4j

    4. **运行并查看日志**:完成以上步骤后,当MyBatis执行SQL时,相应的SQL语句以及执行信息将会按照Log4j的配置输出到控制台或其他指定位置。 除了基础配置,我们还可以根据需求调整日志级别,例如在生产环境中可能...

    springboot+mybatis配置控制台打印sql日志的方法

    设置为`DEBUG`级别后,所有与这些类相关的日志信息,包括SQL语句和参数,都会被打印到控制台。 注意,`debug="false"`表示不开启Logback自身的调试模式,如果需要看到Logback内部的配置信息,可以将其设置为`true`...

    mybatis-plus配置控制台打印完整带参数SQL语句的实现

    总之,通过配置MyBatis-Plus的日志实现为`StdOutImpl`,开发者可以在控制台清晰地看到完整的带参数SQL语句,从而提高调试和优化的效率。在实际项目中,根据项目的日志管理需求,可以选择适合的日志框架,并正确配置...

    mybatis+spring 框架中配置日志中显示sql语句

    总结来说,要在MyBatis+Spring框架中配置日志以显示SQL语句,主要步骤包括:选择并添加日志实现库(如SLF4J和Logback),配置日志级别和输出,设置MyBatis的`logImpl`属性为SLF4J,并确保在Spring配置中正确引用...

    log4j-在控制台打印sql的源码

    "Log4j-在控制台打印SQL的源码" 指的是一个教程或案例,目的是教用户如何配置并使用Log4j日志框架来记录应用程序中的SQL语句,使得这些SQL语句可以在控制台中打印出来。这通常用于调试和性能分析,特别是对于使用...

    Mybatis+Log4j

    7. **运行时日志输出**:在运行项目时,Mybatis会根据Log4j的配置打印相应的日志信息,包括SQL语句、参数绑定、执行时间等,这对于调试和性能优化非常有帮助。 总的来说,Mybatis和Log4j的结合使得我们能够方便地...

    mybatis整合log4j

    在MyBatis中,为了记录SQL语句和执行时间,可以在MyBatis的配置文件`mybatis-config.xml`中设置日志工厂: ```xml ... ... &lt;setting name="logImpl" value="LOG4J"/&gt; ... ... ``` 设置`logImpl`为`LOG4J`...

    MyBatis3用log4j在控制台输出SQL的方法示例

    "MyBatis3用log4j在控制台输出SQL的方法示例" 本篇文章主要介绍了MyBatis3用log4...使用log4j在控制台输出SQL语句可以帮助我们快速排查问题,提高开发效率。但是,我们也需要小心输出的信息,避免泄露数据库连接信息。

    idea插件-mybatis-打印sql

    本文将深入探讨如何在IntelliJ IDEA中安装并使用"MyBatis Log Plugin"插件,以实现MyBatis SQL打印功能,帮助开发者更便捷地进行数据库调试。 首先,我们需要了解"MyBatis Log Plugin"插件的作用。MyBatis是一个...

    mybatis打印出sql

    在这个配置中,我们设置了`log4j.logger.org.mybatis`的级别为DEBUG,这意味着MyBatis的所有DEBUG级别的日志信息,包括执行的SQL语句,都会被记录下来。 在MyBatis的配置文件(如`mybatis-config.xml`)中,确保...

    springmvc4.0+mybatis3.0+log4j整合.rar

    在项目中,我们可以通过配置log4j.properties或log4j.xml文件来设定日志级别、输出目的地(如控制台、文件、邮件等)、格式等。通过@Log4j注解或LoggerFactory获取Logger实例,即可在代码中方便地记录日志,帮助我们...

    idea-Mybatis-Log-Plugin idea插件

    由于Mybatis Log Plugin现在已经收费了,所以我们...如果你不清楚或者不了解 Mybatis Log Plugin 是什不妨听我解释一下:Mybatis Log Plugin是控制台 sql 打印插件 帮助我们打印sql 更清楚 更清晰的打印执行的sql语句

    Spring boot+Mybatis+log4j项目实例

    Spring Boot简化了Spring应用程序的初始设置和配置,Mybatis作为轻量级的持久层框架提供了灵活的SQL操作,而Log4j则是广泛使用的日志记录工具,用于追踪应用中的各种事件。 首先,Spring Boot以其“开箱即用”的...

    idea mybatislog 日志打印 打印完整sql

    总的来说,通过配置日志框架、MyBatis配置、IDEA设置和使用mybatis-log插件,你可以在IntelliJ IDEA中方便地打印和查看MyBatis执行的完整SQL语句,从而提升开发效率和问题排查能力。在实际项目中,合理使用日志可以...

Global site tag (gtag.js) - Google Analytics