日志配置【mybaits】

日志

1、日志工厂

如果是一个数据库操作出现了异常,我们需要排错,日志就是最好的助手!
曾经:sout、debug
现在:日志工厂!
在这里插入图片描述
在这里插入图片描述

  • SLF4J
  • LOG4J【掌握】
  • LOG4J2
  • JDK_LOGGING
  • COMMONS_LOGGING
  • STDOUT_LOGGING 【掌握】
  • NO_LOGGING

STDOUT_LOGGING 标准日志输出

在mybaits中具体使用哪一个日志实现,在设置中设定!

在mybaits核心配置文件中,配置使用的日志

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

在这里插入图片描述

2、Log4j

什么是Log4j?

  • Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件。
  • 我们也可以控制每一条日志的输出格式;
  • 通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。
  • 通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

1.导入Log4j的包

 <dependency>
       <groupId>log4j</groupId>
       <artifactId>log4j</artifactId>
       <version>1.2.12</version>
 </dependency>

2.log4j.properties

# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE            debug   info   warn error fatal
log4j.rootCategory=debug, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n

# LOGFILE is set to be a File appender using a PatternLayout.
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=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n

3.配置log4j为日志的实现

<!--配置log4j为日志的实现-->
<settings>
    <setting name="logImpl" value="LOG4J"/>
</settings>

4.log4j的使用,测试运行findAll
在这里插入图片描述
简单使用

1.在要使用Log4j的类中,导入包 import org.apache.log4j.Logger;

2.日志对象,参数为当前类的class

static Logger logger = Logger.getLogger(mybaitsTest.class);

3.日志级别

logger.info("输出info");
logger.debug("输出debug");
logger.error("输出error");

3、slf4j简介和使用

是什么

slf4j 并不是一种具体的日志系统,而是为各种日志 APIs 提供一个简单统一的接口,从而使得用户能够在部署的时候配置自己所想使用的日志API。
即在开发中统一按照slf4j的API进行开发,在部署时选择不同的日志系统包即可自动转换到不同的日志系统上。

在这里插入图片描述

由上图可以这样理解:slf4j只是一个外壳,内部的具体实现都是使用的具体的日志API.
比如:开发中使用的是JDK自带的日志系统,则只需slf4j-apislf4j-jdk12 两个jar包;如果不想使用JDK自带的日志系统想换成Log4j,即可将slf4j-jdk12 换成slf4j-log4j12 即可,代码不用改动(代码中都是用到的slf4j的API)。

如何用
1 MAVEN引入依赖:

<dependency>
     <groupId>org.slf4j</groupId>
     <artifactId>slf4j-api</artifactId>
     <version>1.6.4</version>
</dependency>

 <dependency>
     <groupId>org.slf4j</groupId>
     <artifactId>slf4j-log4j12</artifactId>
     <version>1.6.4</version>
 </dependency>

2 Java中使用:
在类中获得Logger对象:
private static final Logger logger = LoggerFactory.getLogger(Test.class);

输出日志信息:
logger.error("日志信息 ");

可以使用占位符:
logger.info("{} is {}", "new String[]{"x", "y"}");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值