2017-01-12 2 views
0

Ich möchte sql Login-Konsole drucken. aber es war gescheitert, als ich es versuchte. Hilf mir aus.Mybatis log4j Wie print sql anmelden Konsole?

mein 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 

meine XML-Dateien src/main/resources/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

Nein, ich probierte sie alle einmal – Jason

+1

Haben Sie http://www.mybatis.org/mybatis-3/logging.html angeschaut? – Pau

Antwort

0

log4j.logger.query=DEBUG sollte näher an der Wahrheit sein. Allgemeiner log4j.logger.mapper.namespace.value=DEBUG Erwarteter Protokollierername ist Paketname oder Klassenname. Mit src.main.resources.mybatis versuchen Sie, eine Art von Dateipfad bereitzustellen, aber src.main.resources ist nicht zur Laufzeit vorhanden.

Sie müssen den Appender möglicherweise nicht am Ende der Zeile hinzufügen: root logger protokolliert bereits debug auf stdout. Und die Konsole Appender Name ist nicht definiert, Name ist stdout.