log4j 基础使用入门教程

一、Log4j介绍

在项目中,不管是开发人员写代码还是测试人员写的测试代码一般都需要做一些日志来记录项目的行为,以便更好的跟踪项目中的一些交互和问题。

Log4j ( Logger For Java ) , Java 日志的记录包。 官方网站 。Log4j 是 Apache 的一个开源项目, 为Java提供了日志记录功能。能够让程序员非常方便的记录日志, 并且提供了多种适配方式,能满足各种需求。

log4j是一个日志框架,配置简单,功能强大,在项目中用它来记录日志是很方便的

二、Log4j使用

Step1:引入Log4j依赖

XML 复制代码
<dependency>
   <groupId>log4j</groupId>
   <artifactId>log4j</artifactId>
   <version>1.2.17</version>
</dependency>

Step2:引入Log4j.properties(加到resources资源目录下)

java 复制代码
#根logger主要定义log4j支持的日志级别及输出目的地
log4j.rootLogger = INFO,console,file

⚠️‼️###输出信息到控制台配置###
//表示输出到控制台
log4j.appender.console = org.apache.log4j.ConsoleAppender

//将System.out作为输出
log4j.appender.console.Target = System.out

//使用灵活的布局展示日志信息
log4j.appender.console.layout = org.apache.log4j.PatternLayout

//日志详细输出信息样式
log4j.appender.console.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L- %m%n

⚠️‼️###输出信息到文件中配置###

//每天产生一个日志文件
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender

//输出文件目的地
log4j.appender.file.File = log/web_auto.log

//新的日志信息是否追加到旧的日志文件末尾
log4j.appender.file.Append = false

//使用灵活的布局展示日志信息
log4j.appender.file.layout = org.apache.log4j.PatternLayout

//日志详细输出信息样式
log4j.appender.file.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -%m%n

三、日志级别

通过源码我们可以看到, Log4j 日志等级有:

  • off: 关闭日志 , 最高等级, 任何日志都无法输出
  • fatal,: 灾难性错误, 在能够输出日志的所有等级中最高
  • error:错误, 一般用于异常信息
  • warn:警告, 一般用于不规范的引用等信息
  • info: 普通信息
  • debug: 调试信息, 一般用于程序执行过程
  • trace: 堆栈信息, 一般不使用
  • all: 打开所有日志, 最低等级, 所有日志都可使用

在 Logger 核心类中, 除了 off/all 以外, 其他每个日志等级都对应一组重载的方法, 用于记录不同等级的日志

当且 仅当 方法对应的日志等级 大于等于 设置的日志等级时, 日志才会被记录

示例:debug-->info-->warn-->error

java 复制代码
如果配置文件是这样配置的:log4j.rootLogger = INFO,console,file

程序:
public class Log4jDemo {

    //Log4jDemo.class 是 当前类Log4jDemo类字节码对象  .class文件对象
    private static Logger logger = Logger.getLogger(Log4jDemo.class);

    public static void main(String[] args) {
        logger.debug("debug级别的日志");
        logger.info("info级别的日志");
        logger.warn("warn级别的日志");
        logger.error("error级别的日志");
    }
}

那么输入结果中没有debug,只有info、warn、error:
2021-08-29 11:59:12 INFO  Log4jDemo:22 - info级别的日志
2021-08-29 11:59:12 WARN  Log4jDemo:23 - warn级别的日志
2021-08-29 11:59:12 ERROR Log4jDemo:24 - error级别的日志

  
如果配置文件是这样配置的:log4j.rootLogger = debug,console,file
那么输入结果中有全部:debug、info、warn、error
复制代码
相关推荐
wb0430720118 小时前
厨房质检员——从阿明的“祖传配方“到标准化质检,看测试金字塔的落地
架构·log4j
川石课堂软件测试2 天前
使用mock进行接口测试教程
数据库·python·功能测试·测试工具·华为·单元测试·appium
aovenus3 天前
使用Midscene.js和Appium开展移动应用自动化的对比
appium·midscene.js
one day3213 天前
appium
appium
测试开发-学习笔记4 天前
从0开始搭建app的自动化(二)-appium+python
python·appium·自动化
老码观察6 天前
设计模式实战解读(四):观察者模式——事件驱动的解耦利器
观察者模式·设计模式·log4j
TheRouter8 天前
LLM 应用的Evals 工程实践:从手动测试到自动化回归测试体系
运维·ai·自动化·log4j
老码观察8 天前
设计模式实战解读(二):工厂模式——对象创建的解耦艺术
设计模式·log4j
测试员周周9 天前
【Appium 系列】第18节-重试与容错 — 移动端测试的稳定性保障
人工智能·python·功能测试·ui·单元测试·appium·测试用例
XiYang-DING9 天前
【Spring】SpringIoC&DI
java·spring·log4j