三、LOG4J

1. log4j 简介

log4j 是 Apache 提供的一款记录日志的工具

log4j 既可以将日志信息打印在控制台, 也可以打印输出到一个日志文件中.

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

log4j 可以定制日志的输出格式

log4j 可以定制日志级别

 

2. 日志级别

FATAL:致命的, 表示非常严重的错误, 一般是系统错误

ERROR:错误, 表示代码错误, 比较严重

WARN:警告, 不影响程序的运行, 但是可能存在风险.

INFO:信息, 表示一个普通的输出信息

DEBUG:调试, 表示程序员人为的一些调试信息

 

3. log4j 的使用

1) 导包

log4j-1.2.17.jar

log4j-api-2.0-rc1.jar

log4j-core-2.0-rc1.jar

 

2) 配置文件

使用一个叫 log4j. properties 的配置文件, 会设定 log4j 的

设置信息, 例如日志级别, 日志输出方式, 日志格式等等.

# 设置日志级别为INFO,只在控制台输出

# log4j.rootCategory=DEBUG, CONSOLE

log4j.rootCategory=DEBUG, CONSOLE, LOGFILE

# 设置控台的输出格式

# 使用 org.apache.log4j.ConsoleAppender 这个工具类输出打印信息

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

# layout是布局模式

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

# 指定输出的信息,- %m %c %l%m代表信息,%n换行)

log4j.appender.CONSOLE.layout.ConversionPattern=- %m %c %%d{yyyy-MM-dd HH:mm:ss}%n

# 打印到日志文件的设置

log4j.appender.LOGFILE=org.apache.log4j.FileAppender

log4j.appender.LOGFILE.File=d:/test.log

log4j.appender.LOGFILE.Append=true

log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout

log4j.appender.LOGFILE.layout.ConversionPattern=- %m %l%n

 

3) 日志的输出格式

 

 

4) 测试

package com.mypack.test;

import org.apache.log4j.Logger;

public class TestLog4j {

public static void main(String[] args) {

// 获取日志对象

Logger logger = Logger. getLogger(TestLog4j. class);

// 五个日志级别分别对应五个输出方法, 方法名和级别名一致

logger.fatal(" 系统崩溃了...");

logger.error(" 发生了错误!");

logger.warn(" 警告!");

logger.info(" 消息~");

logger.debug(" 调试...");

}

}

 

4. MyBatis 对 log4j 的支持

(1) 通过<settings>开启 log4j 的支持

<settings>用于设置 MyBatis 在运行时的行为方式, 例如:缓存, 延迟加载, 日志等.

<!-- settings标签 -->

<settings>

<!-- 设置MyBatis使用log4j日志支持 -->

<setting name="logImpl" value="LOG4J"/>

</settings>

 

(2) 局部调整日志级别, 定制日志的输出

# 提高整体日志级别

log4j.rootCategory=ERROR, CONSOLE

# 单独设置SQL语句的输出级别为DEBUG级别

# 方法级别

# log4j.logger.com.mypack.mapper.UserMapper.selAll=DEBUG

# 类级别

# log4j.logger.com.mypack.mapper.UserMapper=DEBUG

# 包级别

log4j.logger.com.mypack.mapper=DEBUG

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄