Java基础入门day74

day74

Mybatis

日志

简介

mybatis有默认的日志实现,之前我们在mybatis的核心配置文件中设置logImpl值为STDOUT_LOGGING,就可以在控制台输出对应的SQL语句日志信息,好处不使用任何第三方jar包即可支持,但是仅限于控制台的输出,而且控制台可以看到的内容非常有限,最早的日志可能会因为日志内容过多而被"卷进去"而看不见。

复制代码
 <setting name="logImpl" value="SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING"/>

mybatis也支持第三方jar包方式,本次以LOG4J为例

实现
  1. pom.xml中添加log4j的依赖

    复制代码
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
  2. 在classpath中添加log4j.properties文件

  3. 配置log4j的配置文件内容

    复制代码
    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 ????????=DEBUG.log ###
    log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.D.File = DEBUG.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 ????????=error.log ###
    log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.E.File =error.log 
    log4j.appender.E.Append = true
    log4j.appender.E.Threshold = ERROR 
    log4j.appender.E.layout = org.apache.log4j.PatternLayout
  4. 运行项目之后,同时会在控制台和对应的日志文件中有日志信息的打印

特点

日志框架描述:

日志级别有:

  • debug:调试

  • info:信息

  • warn:警告

  • error:错误

一般在平时开发过程中使用debug即可,看到比较详细的日志信息

一旦上线之后,设置为error级别,信息量会少一些

上面四个级别分别是从低到高,设置低优先级的,高优先级也是可以看到

设置高优先级的,低优先级看不到

这个日志级别有的日志里面还有trace追踪fatal致命错误两个级别

相关推荐
FQNmxDG4S1 小时前
Java多线程编程:Thread与Runnable的并发控制
java·开发语言
前端老石人2 小时前
HTML 字符引用完全指南
开发语言·前端·html
matlab_xiaowang2 小时前
Redux 入门:JavaScript 可预测状态管理库
开发语言·javascript·其他·ecmascript
虹科网络安全2 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
axng pmje2 小时前
Java语法进阶
java·开发语言·jvm
rKWP8gKv73 小时前
Java微服务性能监控:Prometheus与Grafana集成方案
java·微服务·prometheus
老前端的功夫3 小时前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
qq_435287923 小时前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
小江的记录本3 小时前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
止语Lab3 小时前
从手动到框架:Go DI 演进的三个拐点
开发语言·后端·golang