• log4j 基础使用入门教程


    一、Log4j介绍

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

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

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

    二、Log4j使用

    Step1:引入Log4j依赖

    1. <dependency>
    2.   <groupId>log4jgroupId>
    3.   <artifactId>log4jartifactId>
    4.   <version>1.2.17version>
    5. dependency>

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

    1. #根logger主要定义log4j支持的日志级别及输出目的地
    2. log4j.rootLogger = INFO,console,file
    3. ⚠️‼️###输出信息到控制台配置###
    4. //表示输出到控制台
    5. log4j.appender.console = org.apache.log4j.ConsoleAppender
    6. //将System.out作为输出
    7. log4j.appender.console.Target = System.out
    8. //使用灵活的布局展示日志信息
    9. log4j.appender.console.layout = org.apache.log4j.PatternLayout
    10. //日志详细输出信息样式
    11. log4j.appender.console.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L- %m%n
    12. ⚠️‼️###输出信息到文件中配置###
    13. //每天产生一个日志文件
    14. log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
    15. //输出文件目的地
    16. log4j.appender.file.File = log/web_auto.log
    17. //新的日志信息是否追加到旧的日志文件末尾
    18. log4j.appender.file.Append = false
    19. //使用灵活的布局展示日志信息
    20. log4j.appender.file.layout = org.apache.log4j.PatternLayout
    21. //日志详细输出信息样式
    22. 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

    1. 如果配置文件是这样配置的:log4j.rootLogger = INFO,console,file
    2. 程序:
    3. public class Log4jDemo {
    4. //Log4jDemo.class 是 当前类Log4jDemo类字节码对象 .class文件对象
    5. private static Logger logger = Logger.getLogger(Log4jDemo.class);
    6. public static void main(String[] args) {
    7. logger.debug("debug级别的日志");
    8. logger.info("info级别的日志");
    9. logger.warn("warn级别的日志");
    10. logger.error("error级别的日志");
    11. }
    12. }
    13. 那么输入结果中没有debug,只有info、warn、error:
    14. 2021-08-29 11:59:12 INFO  Log4jDemo:22 - info级别的日志
    15. 2021-08-29 11:59:12 WARN  Log4jDemo:23 - warn级别的日志
    16. 2021-08-29 11:59:12 ERROR Log4jDemo:24 - error级别的日志
    17.  
    18. 如果配置文件是这样配置的:log4j.rootLogger = debug,console,file
    19. 那么输入结果中有全部:debug、info、warn、error
    
                    
  • 相关阅读:
    tftp服务的搭建
    原始值的响应式方案
    Nacos——注册中心源码详解
    [山东科技大学OJ]2297 Problem F: 编写函数:字符串的小写转大写(Append Code)
    pytorch初学笔记(十二):神经网络基本结构之线性层
    [运维|中间件] 在东方通TongWeb部署前端
    Linux之shell脚本初始
    远程运维用什么软件?可以保障更安全?
    关于CSDN编程竞赛第五期
    一步一步介绍如何将 OpenCV C++ 代码转换为 Python 模块
  • 原文地址:https://blog.csdn.net/weixin_40772077/article/details/136354562