Mybatis学习笔记-日志

日志工厂

如果一个数据库操作出现异常,在排错时,则需要日志
  • SLF4J
  • Apache Commons Logging(COMMONS_LOGGING)
  • LOG4J
  • LOG4J2
  • JDK logging(JDK_LOGGING)
  • STDOUT_LOGGING
  • NO_LOGGING
日志的具体实现根据环境设置

设置(mybatis-config.xml)

<settings>
    <!--标准日志工厂实现-->
    <setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

LOG4J

  • 可控制日志信息输出目的地
  • 可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程
  • 可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码
  • 导入依赖
<!--LOG4J-->
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
  • 创建并设置log4j.properties
### 设置 ###
log4j.rootLogger = debug,stdout,D,E
 
### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
 
### 输出DEBUG 级别以上的日志到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
 
### 输出ERROR 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E://logs/error.log 
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
  • 配置log4j为日志(实现)
<settings>
    <!--log4j-->
    <setting name="logImpl" value="LOG4J"/>
</settings>
  • 测试结果

log4j的简单使用

    1. 在要使用LOG4J的类中,导入包
import org.apache.log4j.Logger;
    1. 创建日志对象,参数为当前类
static Logger logger = Logger.getLogger(UserDaoTest.class);
    1. 日志级别
logger.info("[Info]进入了[testLOG4J]");
logger.debug("[Debug]进入了[testLOG4J]");
logger.error("[Error]进入了[testLOG4J]");

参考文章:

posted @ 2021-08-05 17:50  菜鸢爱敲bug  阅读(58)  评论(0编辑  收藏  举报