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致命错误两个级别

相关推荐
nvd113 分钟前
Java ETL - Apache Beam 简介
java·apache·etl
晴子呀20 分钟前
Spring底层原理大致脉络
java·后端·spring
DreamByte21 分钟前
Python Tkinter小程序
开发语言·python·小程序
只吹45°风26 分钟前
Java-ArrayList和LinkedList区别
java·arraylist·linkedlist·区别
覆水难收呀30 分钟前
三、(JS)JS中常见的表单事件
开发语言·前端·javascript
阿华的代码王国34 分钟前
【JavaEE】多线程编程引入——认识Thread类
java·开发语言·数据结构·mysql·java-ee
黑蛋同志34 分钟前
array和linked list的区别
java
繁依Fanyi40 分钟前
828 华为云征文|华为 Flexus 云服务器部署 RustDesk Server,打造自己的远程桌面服务器
运维·服务器·开发语言·人工智能·pytorch·华为·华为云
andrew_121940 分钟前
腾讯 IEG 游戏前沿技术 一面复盘
java·redis·sql·面试
寻求出路的程序媛1 小时前
JVM —— 类加载器的分类,双亲委派机制
java·jvm·面试