log4j.properties日志级别debug打印后台sql语句

通常,日志的打印级别对开发的辅助性非常重要,合适的日志级别能够快速定位开发问题。

很多时候,开发时我们需要检查后台sql语句,可通过配置log4j配置文件来完成。

当INFO级别时,与数据库交互时是不会打印sql语句的,配置如下:

为了更清晰的看到sql的输出,我们现在把日志级别改为DEBUG,如下:

这样在与数据库交互时,控制台就会将sql打印出来,便于定位问题;同时也可以很明显的看出INFO与DEBUG的日志输出区别,DEBUG输出的日志较多,且在项目启动的时候也较慢。

原文地址:https://www.cnblogs.com/qiancheng888/p/9208071.html

时间: 2024-10-11 16:41:16

log4j.properties日志级别debug打印后台sql语句的相关文章

怎样在控制台或者日志打印输出JDBC执行的sql语句

今天用jdbc preparestatement 写sql语句查询,但是在执行的过程中实际查询出的结果和预期的结果不一致,然后就在想有什么办法能够在控制台或者Log4j日志输出最终执行的SQL语句,以便于调试.如果是hibernate可以通过配置show_sql 为 true 在控制台显示执行的SQL,因为使用的是纯JDBC的写法,然后自己在程序中直接通过System.out.println(sql);打印SQL语句,然后又打印参数,这种方式确实是可以.但是,遇到insert语句或者Update

Log4j的日志级别分析(转)

说明:Log4j的日志是有级别的,从低到高顺序为:ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF,当定义了日志级别为WARN后,那么其比它高的级别(ERROR < FATAL)会打印出来. 基本使用方法: Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式.日志信息的优先级从高到低有ERROR.WARN.INFO.DEBUG,分别用来指定这条日志信息的重要程度:日志信息的输出目

log4j动态日志级别调整

1. 针对root logger的设置 log4j.rootLogger=INFO, CONSOLELogger.getRootLogger().setLevel(org.apache.log4j.Level.DEBUG) 2. 针对Appender的Appender设置 log4j.appender.CONSOLE.Threshold=DEBUG((org.apache.log4j.ConsoleAppender)Logger.getRootLogger().getAppender("CONS

log4j.properties 日志文件的详细配置说明

一.在一个web 项目中,使用tomcat 启动通常会在控制台输出出现一个警告信息: 通常为未添加 log4j.properties文件的原因. 二.下面以一个普通的maven项目为例说明一下 1. 在maven项目的配置文件pom.xml中已经有日志文件的配置选项,如果需要使用,记得配置进去. 1 <!-- 日志文件 --> 2 <dependency> 3 <groupId>org.slf4j</groupId> 4 <artifactId>

[转载]log4j输出日志级别控制

我们知道:log4j.logger.XX cover ==> log4j.rootLogger log4j.appender.XX.Threshold决定了最低接收级别 也就是说rootLogger首先决定所有log的输出级别,而log4j.logger.XX是对XX路径下的jar包的输出级别的修改,直接覆盖rootLogger 但是对于不同的输出口,他们的接收级别是不同的. 举例1:log4j.appender.XX.Threshold门槛高于log4j.logger.XX时, log4j.l

使用Apache pdfbox: 从Linux安装字体到log4j设置日志级别

在使用Apache的pdfbox的过程中,因为Linux环境下没有STSong-Light字体而报警告信息 (PDCIDFontType0.java:147) - Using fallback UKaiCN for CID-keyed font STSong-Light 搜索得知此为Adobe推出的一种OpenType字体,在adobe的安装目录下找到了疑似的字体AdobeSongStd-Light.otf,将此文件copy至Linux的/usr/share/fonts目录中,因为pdfbox会

java mybatis学习之$和#区别,mapper代理接口,动态SQL,在日志中输出mybatis的sql语句

1.在mybatis中,$和#的区别: #{}:表示一个预处理参数,参数类型不定,是根据传入的参数类型来设定的.类似于JDBC中的? 特例使用,模糊查询:(针对oracle): and username like concat(concat('%',#{username}),'%') ${}:相当于是我们的JDBC里的字符串拼接.这里就相当于传入的就是一个字符串(不管传入什么样的数据类型,都是字符串) and username like '%${value}%' 2.$和#在mybatis中的优

mysql row日志格式下 查看binlog sql语句

有时候我们需要使用row作为binlog的日志格式,即配置文件使用了binlog_format= row 参数 这样以来,我们在查看数据库binlog内容时候,就看不到增删改查的具体语句了,在数据库恢复的时候 不利于我们查找恢复数据点. 使用row日志格式的日志: 可以看到都是一段段类似加密过的字符串一样,不要着急,其实sql真实语句就在这里这里,只不过 是经过64位编码转换后的内容,我们使用mysqlbinlog对应的参数即可查看具体的sql内容: mysqlbinlog --base64-o

C#后台sql语句注释,根据isnull()方法进行条件选择

select isnull(b.guid,k.guid) as project_id,isnull(b.projectno,k.projectno) as projectno, isnull(b.projectname,k.projectname) as projectname,c.COMPANYNAME as customer, isnull(b.project_date,k.project_date) as project_date,d.typecn,a.guid as apply_id,a