log4j打印sql语句
⑴ 怎样用Log4j得到当前执行的sql语句
mybatis默认使用log4j,当有self4j这个日志jar包存在时会无法打印sql,请移除或者在工程启动时显示设置mybatis使用的日志类:
log4j.logger.org.apache.ibatis=debug,stdout log4j.logger.java.sql=debug,stdout
这样有时可能却不是个可行的办法,原因在于不可能移除self4j包,因为其他依赖包必须依赖这个包。 mybatis有如下方法来手动选择日志类,调用后成功打印日志 如果引用了slf4j的包,并且要使用log4j需要加入slf4j-log4j12的包,如果没有加入slf4j-log4j12的包是无法打印sql的。。具体log4j文件如下:
log4j.rootCategory=info, stdout , R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.Conversion
Pattern=[QC] %p [%t] %C.%M(%L) | %m%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=D:\\report.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n
log4j.logger.com.ibatis=debug
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug
log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug,stdout
现在重启tomcat,执行一条语句看看,sql是不是都出来了
⑵ log4j控制台输出sql语句结果log4j控制台什么都不输出
这个是我现在项目里面用的 你试看:
log4j.rootLogger=DEBUG,Console,File
#log4j.rootLogger=INFO,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=[%c]%m%n
log4j.appender.File.layout.ConversionPattern=%d %t %p [%c{1}] %L %m%n"
log4j.appender.File=org.apache.log4j.RollingFileAppender
log4j.appender.File.File=mybatis.log
log4j.appender.File.MaxFileSize=10MB
log4j.appender.File.Threshold=ALL
log4j.appender.File.layout=org.apache.log4j.PatternLayout
#log4j.appender.File.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n
log4j.appender.File.layout.ConversionPattern=%d %t %p [%c{1}] %L %m%n"
用的是maven管理jar包
maven配置:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
⑶ 打印sql语句怎么打印
您好,我来为您解答:
#将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句
log4j.rootLogger=debug,stdout,logfile
希望我的回答对你有帮助。
⑷ mybatis使用log4j打印sql为什么没有输出结果集
只要配置mapper接口类或者配置文件中mapper的路径为debug就可以了. 具体可参考这里. 里面还说明了, 如果要打印sql语句的执行结果, 需要设置为trace级别.
⑸ log4j.xml 如何在控制台打印jdbc执行过的sql
问题要描述清楚,使用什么框架,是hibernate,还是mybatis,或者自己写的数据库连接工具。如果是hibernate,需要在hibernate属性文件中配置hibernate.show_sql=true,或者在hibernate.cfg.xml文件中配置。
如果是mybatis,配置log4j
<category name="org.apache.ibatis" additivity="false">
<priority value="DEBUG"/>
<appender-ref ref="console"/>
</category>
⑹ Mybatis使用log4j打印sql,没有输出resultSet
ybatis默认使用log4j,当有self4j这个日志jar包存在时会无法打印sql
#需要debug
log4j.rootCategory=info,stdout,file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# log4j.appender.stdout.layout.ConversionPattern= %-d{yyyy-MM-dd HH:mm:ss.SSS}, [%-9t], [%-5p], %C{1}.%M(%L), | %m%n
log4j.appender.stdout.layout.ConversionPattern= %-d{yyyy-MM-dd HH:mm:ss.SSS}, [%-9t], [%-5p], %C{1}.(%-3L), | %m%n
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.file=${webapp.root}/logs/My.log
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern= %-d{yyyy-MM-dd HH:mm:ss.SSS}, [%-9t], [%-5p], %C{1}.%M(%L), | %m%n
# OpenSymphony Stuff
log4j.logger.freemarker=info
log4j.logger.com.opensymphony=info
log4j.logger.com.opensymphony.xwork2.ognl=info
log4j.logger.org.apache.struts2=info
# Spring Stuff
log4j.logger.org.springframework=info
#mybatis Console
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
########## new 20141225
# OpenSymphony Stuff
log4j.logger.freemarker=WARN
log4j.logger.com.opensymphony=WARN
log4j.logger.com.opensymphony.xwork2.ognl=WARN
log4j.logger.org.apache.struts2=WARN
# Spring Stuff
log4j.logger.org.springframework=WARN
#mybatis Console
###显示SQL语句部分
log4j.logger.org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl=DEBUG
log4j.logger.java.sql=DEBUG,stdout
⑺ 怎么样配置log4j 才能将hibernate在控制台输出sql语句
因为hibernate在输出sql时使用的logger名为org.hibernate.SQL,所以想让SQL语句输出到log4j,只要在log4j.properties或log4j.xml的配置中加上如下语句:
log4j.logger.org.hibernate.SQL=DEBUG
记得同时把hibernate中配置文件hibernate.show_sql设置为false,避免同时在控制台和log日志中双份输出sql语句。
⑻ 怎样使log4j打印SQL语句的时候不打印activity工作流SQL语句
1、log4j配置[html]viewplainlog4j.logger.com.ibatis=DEBUGlog4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUGlog4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUGlog4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUGlog4j.logger.org.mybatis=DEBUGlog4j.logger.java.sql.Connection=DEBUGlog4j.logger.java.sql.Statement=DEBUGlog4j.logger.java.sql.PreparedStatement=DEBUGlog4j.logger.java.sql.ResultSet=DEBUG2、导入jar[html]viewplainlog4jlog4j1.2.14org.slf4jslf4j-api1.7.7org.slf4jslf4j-log4j121.7.73、没了,注意一定要导入slf4j的包,否则sql语句打印不出来