一文读懂日志框架之Log4j

1.日志记录框架
在开发过程中, 测试时需要指导方法调用是否成功, 在项目上线后, 需要知道程序的运行情况, 都需要通过记录日志的形式去查看. 不仅要能够打印在控制台, 还需要记录到指定的日志文件中. 日志文件的后缀一般为.log.
2、常见的日志记录框架
log4j:Apache开源的日志记录框架,可以使用.properties作为配置文件
在这里插入图片描述
log4j2:对.properties文件支持不太好,推荐使用.xml作为配置文件。在这里插入图片描述
slf4j:是一种日志记录接口,相当于规范,使用时需要找指定的实现。例如log4j在这里插入图片描述
logback:当前比较流行的日志记录框架
commons-logging:Apache提供的工具,通常被别的框架依赖。在这里插入图片描述
3、Log4J的日志记录级别
以下日志级别由高到低。可以通过调整日志级别控制哪些日志可以被打印出来。
FATAL:致命的,不是代码引起的,而是系统故障;
ERROR:错误,代码运行发生的错误。
WARN:警告,不会影响到程序运行,但是可能存在风险
INFO:普通消息
DEBUG:调式信息
TRACE:跟踪信息
4、使用
提供配置文件要求必须叫log4j.properties,位置必须放在src目录下。

#设置log4j的根(整体)日志级别,同时指定日志输出的位置:CONSOLE表示控制台,LOGFILE表示日志文件
log4j.rootCategory=INFO,CONSOLE
#log4j.rootCategory=INFO,CONSOLE,LOGFILE

#设置局部位置的日志格式,将根据namespace将整个UserMapper.xml映射文件的日志级别设置,abc为namespace的名
log4j.logger.abc=TRACE
#设置控制台日志输出的格式
#常用符号
#%m:message,日志信息
#%n:回车换行
#%d:日期时间,可以自定义日期时间格式,%d{yyyy-MM-dd HH:mm:ss}
#%p:日志级别
#%l:日志发生的具体位置
#%c:定位,包名.类名
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %m%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

测试

public class Test {
    //创建日志对象
    private static Logger logger=Logger.getLogger(Test.class);
    public static void main(String[] args) {
    logger.fatal("致命错误");
    logger.error("错误级别");
    logger.warn("警告级别");
    logger.info("消息级别");
    logger.debug("调试级别");
    logger.trace("跟踪级别");
    }
}

在这里插入图片描述
5、Mabatis应用Log4j
在核心配置文件中通过< settings>标签开启log4j,不配置也行,Mybatis会自动查找。在这里插入图片描述<setting name="logImpl" value="LOG4J"/>
在这里插入图片描述

发布了219 篇原创文章 · 获赞 352 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/qq_42859864/article/details/103704759