Configurando o Log de Consultas SQL no MyBatis no Framework SSM

Configuração de logs do MyBatis

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

Configuração de logs de consultas SQL

log4j.logger.java.sql.Connection=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG


Além disso, é importente definir os níveis de log e os apendices no arquivo **log4j.properties**. Aqui está um exemplo de configuração completo: ```

# Definição dos níveis de log
log4j.rootLogger=DEBUG, Console, File

# Configuração do console
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=[%p] [%d{yyyy-MM-dd HH:mm:ss}][%c]%m%n

# Configuração do arquivo de log
log4j.appender.File=org.apache.log4j.RollingFileAppender
log4j.appender.File.File=logs/application.log
log4j.appender.File.MaxFileSize=10MB
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=[%p] [%d{yyyy-MM-dd HH:mm:ss}][%c]%m%n

# Configuração de logs do MyBatis
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

Nesta configuração: - Console define o output de logs no console. - File define a gravação de logs em arquivo. #### 2. Configuração no Arquivo mybatis-config.xmlOutra abordagem é configurar diretamente o MyBatis para exibir logs de consultas SQL. Adicione a seguinte seção ao arquivo mybatis-config.xml: ```

    <setting name="logImpl" value="STDOUT_LOGGING"></setting>
</settings>

No MyBatis, a configuração **logImpl** define como as consultas SQL serão registradas. As opções disponíveis são: - **SLF4J**: Usa o SLF4J como implementação de log. - **LOG4J**: Usa o Log4j como implementação de log. - **STDOUT\_LOGGING**: Exibe as consultas SQL diretamente no console. Para que esta configuração surta efeito, é necessário referenciar o arquivo **mybatis-config.xml** no contexto do Spring. Adicione a seguinte configuração no arquivo **spring-mybattis.xml**: ```


<bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactory">
    <property name="dataSource" ref="dataSource"></property>
    <property name="configLocation" value="classpath:mybatis-config.xml"></property>
    <property name="mapperLocations" value="classpath:com/example/mappers/*.xml"></property>
</bean>

Para mais informações sobre as configurações disponíveis no MyBatis, consulte a documentação oficial: https://mybatis.org/mybatis-3/configuration.html#settings

Tags: MyBatis Log4j SSM SQL Spring

Publicado em 9-10 03:09