08 MyBatis——lo4j日志启用

引入

在全局配置中,我们可以开启MyBatis的日志功能,前面我们也看到,MyBatis的依赖包有很多是日志包,其中就包含log4j。

导入log4j配置文件

放在src目录下,不可更改路径。

配置文件名为:log4j.properties 不可更改文件名

log4j.rootCategory=ERROR, CONSOLE,LOGFILE

log4j.logger.cn.xiaohei.PeopleMapper.selAll = DEBUG
log4j.logger.cn.xiaohei.PeopleMapper = DEBUG
log4j.logger.cn.xiaohei = DEBUG

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=-%p-%d{yyyy/MM/dd HH:mm:ss,SSS}-%l-%L-%m%n


log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=D:/axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=-%p-%d{yyyy/MM/dd HH:mm:ss,SSS}-%l-%L-%m%n

  

配置xml文件

在项目中MyBatis的全局配置xml文件中,添加如下:

其中,name值与value值有严格规定,具体参考MyBatis的api中的configuration xml一节,如图。

 

 

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

  

值得注意的是:DTD文档是对格式有严格要求的,在MyBatis.xml中,Configuration标签下的标签必须按如下规则和顺序来写:

 

问号表示0次或1次。

如果出现+ * 等,均按正则表达式中的理解。 

调用

以上配置完成后,无需手动调用对象进行日志记录,MyBatis会自动按照配置来进行日志记录。

某次记录展示如下:

-DEBUG-2020/03/04 15:52:43,534-org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:159)-159-==> Preparing: select * from people;
-DEBUG-2020/03/04 15:52:43,567-org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:159)-159-==> Parameters:
-DEBUG-2020/03/04 15:52:43,593-org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:159)-159-<== Total: 1

log4j.peoperties配置文件详解

此配置文件中,第1行为全局配置,ERORR表示日志执行的最低级别,级别相关概念请跳转 这里

第3-5行为自定义路径的级别

第3行:方法级,它详细到Mapper下的某个方法,只有这个方法被执行,在它对应的级别(此文件中为debug级别)及以上级别中触发日志行为。

第4行:类级,该类下面的全部方法对指定的级别(此文件中为debug级别)及以上级别触发日志行为。

第5行:包级,该包下面所有类对指定的级别(此文件中为debug级别)及以上的级别触发日志行为。

注:前面的 log4j.logger 为固定写法

posted @ 2020-03-04 15:55  Scorpicat  阅读(402)  评论(0编辑  收藏  举报