我想在控制台中打印sql日志。但是当我尝试它时失败了。 帮帮我。
我的log4.properties
log4j.rootLogger=DEBUG, stdout
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} %-5p %c{1}:%L - %m%n
log4j.logger.src.main.resources.mybatis.query=DEBUG, console
log4j.logger.src.main.resources.mybatis.query.updateSessionStatus=DEBUG, console
log4j.logger.query=TRACE
log4j.logger.mybatis.query.updateSessionStatus=TRACE
我的xml文件 的src /主/资源/ MyBatis的/ Session.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> -->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="query">
<update id="updateSessionStatus" parameterType="java.lang.String">
UPDATE TB_SSN SET
<if test = "onOff == 'ON'">
SSN_STS = "ON"
</if>
<if test = "onOff == 'OFF'">
SSN_STS = "OF",
SSN_EPD_TIME = #{time}#
</if>
WHERE SSN_KEY = #{sessionKey}#
</update>
</mapper>
答案 0 :(得分:0)
log4j.logger.query=DEBUG
应该更接近事实。更常见的是log4j.logger.mapper.namespace.value=DEBUG
预期的记录器名称是包名称或类名。使用src.main.resources.mybatis
,您尝试提供某种文件路径,但运行时不存在src.main.resources
。
您可能不需要在行尾添加appender:root logger已将debug记录到stdout。 并且未定义 console appender名称,name是stdout。