iBatis, le printemps, comment enregistrer le sql qui est exécuté?
Je suis en utilisant iBatis avec le framework spring. Je veux ouvrir une session sql qui iBatis s'exécute lorsque je dis quelque chose comme
Employee e = (Employee) getSqlMapClientTemplate().queryForObject("emp_sql", emp);
La ligne ci-dessus va chercher "emp_sql" id dans le ibatis fichier sql que j'ai. Et puis exécutez la requête correspondant à "emp_sql". Je veux ouvrir une session cette requête.
J'ai le texte suivant log4j xml fichier de propriétés.
<appender name="sqlLogAppender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="/disk1/logs/sql.log"/>
<param name="datePattern" value="'-'yyyy-MM-dd'.txt'"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%m %n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="DEBUG"/>
</filter>
</appender>
<logger name="log4j.logger.com.ibatis">
<level value="DEBUG"/>
<appender-ref ref="sqlLogAppender"/>
</logger>
<logger name="log4j.logger.java.sql.Connection">
<level value="DEBUG"/>
<appender-ref ref="sqlLogAppender"/>
</logger>
<logger name="log4j.logger.java.sql.PreparedStatement">
<level value="DEBUG"/>
<appender-ref ref="sqlLogAppender"/>
</logger>
Je ne peux toujours pas obtenir le sql que le ibatis exécuté.
Est-il quelque chose de mal avec la configuration?
Dois-je simplement dire
<appender name="sqlLogAppender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="/disk1/logs/sql.log"/>
<param name="datePattern" value="'-'yyyy-MM-dd'.txt'"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%m %n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="DEBUG"/>
</filter>
</appender>
<logger name="log4j.logger.java.sql">
<level value="DEBUG"/>
<appender-ref ref="sqlLogAppender"/>
</logger>
Dois-je utiliser p6spy ou autre chose? Ou est-il quelque chose que je peux faire dans la configuration log4j pour obtenir le iBatis les journaux sql?
source d'informationauteur aadidasu | 2010-11-02
Vous devez vous connecter pour publier un commentaire.
Ajoutez les lignes suivantes à votre configuration log4j (commentaires ce que vous voulez voir).
Ajouter ceci dans votre log4j.xml
Si vous utilisez Log4j que votre journalisation, vous devez définir le mybatis à utiliser log4j que son enregistrement par défaut de l'outil. Vous pouvez le faire en définissant dans l'mybatis-config.xml comme ça,
Ou si vous ne l'utilisez pas mybatis-config.xml et juste annotations, alors vous voulez utiliser
avant d'invoquer une autre mybatis méthodes pour définir la journalisation par défaut de mise en œuvre. Lire La Suite...
L'utilisation de cette configuration dans votre log4j.propriétés,
Si vous utilisez log4j.xml configuration essayer c'est l'équivalent de ce qui précède,
Soit utiliser les propriétés du fichier ou un fichier xml pour configurer log4j comme ci-dessus et le placer dans votre classpath pour que cela fonctionne correctement.
Ajouter ceci dans votre log4j
Cela permettra d'imprimer le sql ainsi que les résultats de sortie