zoukankan      html  css  js  c++  java
  • Mybatis使用log4j添加日志

    Thx

    ---------------------------------------分割线是我的矜持---------------------------------------

    很多时候需要查看Mybatis执行的sql语句,以及执行情况。我们需要在log4j的配置文件中,添加一段配置。

    log4j.rootLogger=DEBUG, sql
    log4j.appender.sql=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.sql.DatePattern='.'yyyyMMdd
    log4j.appender.sql.File=E:logsql.log
    log4j.appender.sql.layout=org.apache.log4j.PatternLayout
    log4j.appender.sql.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} | %m%n
    
    log4j.logger.org.apache.ibatis=DEBUG
    log4j.logger.org.apache.common.jdbc.SimpleDataSource=DEBUG
    log4j.logger.org.apache.common.jdbc.ScriptRunner=DEBUG
    log4j.logger.org.apache.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
    log4j.logger.java.sql.Connection=DEBUG
    log4j.logger.java.sql.Statement=DEBUG
    log4j.logger.java.sql.PreparedStatement=DEBUG
    log4j.logger.java.sql.ResultSet=DEBUG

    不了解Mybatis内部关于这个log是怎么配置的。经过测试,Mybatis的appender用的是和根级rootLogger用的是同一个

    据说 # MyBatis logging configuration ... 这里可以针对package、interface、method或Mapper的namespace进行日志的输出

    使用上面的配置已经可以满足我的需求了

    2015-04-03 17:02:33 | Acquired Connection [jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8, UserName=root@192.168.0.11, MySQL Connector Java] for JDBC transaction
    2015-04-03 17:02:33 | Setting JDBC Connection [jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8, UserName=root@192.168.0.11, MySQL Connector Java] read-only
    2015-04-03 17:02:33 | Switching JDBC Connection [jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8, UserName=root@192.168.0.11, MySQL Connector Java] to manual commit
    2015-04-03 17:02:33 | Creating a new SqlSession
    2015-04-03 17:02:33 | Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@10da1d8]
    2015-04-03 17:02:34 | JDBC Connection [jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8, UserName=root@192.168.0.11, MySQL Connector Java] will be managed by Spring
    2015-04-03 17:02:34 | ==>  Preparing: select id from user WHERE login_name = ? and password = ? 
    2015-04-03 17:02:34 | ==> Parameters: hehe(String), F379EAF3C831B04DE153469D1BEC345E(String)
    2015-04-03 17:02:34 | <==      Total: 1
    2015-04-03 17:02:34 | Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@10da1d8]
    2015-04-03 17:02:34 | Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@10da1d8]
    2015-04-03 17:02:34 | Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@10da1d8]
    2015-04-03 17:02:34 | Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@10da1d8]
    2015-04-03 17:02:34 | Initiating transaction commit
    2015-04-03 17:02:34 | Committing JDBC transaction on Connection [jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8, UserName=root@192.168.0.11, MySQL Connector Java]
    2015-04-03 17:02:34 | Resetting read-only flag of JDBC Connection [jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8, UserName=root@192.168.0.11, MySQL Connector Java]
    2015-04-03 17:02:34 | Releasing JDBC Connection [jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8, UserName=root@192.168.0.11, MySQL Connector Java] after transaction
    2015-04-03 17:02:34 | Returning JDBC Connection to DataSource
  • 相关阅读:
    【BZOJ4008】[HNOI2015] 亚瑟王(DP)
    【BZOJ4416】 [SHOI2013] 阶乘字符串(状压DP)
    【BZOJ4524】[CQOI2016] 伪光滑数(堆的套路题)
    【洛谷5336】[THUSC2016] 成绩单(区间DP)
    【洛谷4238】【模板】多项式乘法逆
    【洛谷4707】重返现世(kth Min-Max容斥+动态规划)
    【洛谷5339】[TJOI2019] 唱、跳、rap和篮球(容斥+NTT)
    【洛谷3723】[AH2017/HNOI2017] 礼物(FFT)
    【LOJ2290】「THUWC2017」随机二分图(状压+记忆化搜索)
    【洛谷5795】[THUSC2015] 异或运算(可持久化Trie)
  • 原文地址:https://www.cnblogs.com/erbin/p/4390603.html
Copyright © 2011-2022 走看看