zoukankan      html  css  js  c++  java
  • Log4j 基本使用


    在这里插入图片描述

    1. 概述

    • 介绍
      Log4J 是 Apache 的一个开源项目。通过在项目中使用 Log4J,我们可以控制日志信息输出到控制台、文件、GUI 组件、甚至是数据库中。我们可以控制每一条日志的输出格式,通过定义日志的输出级别,可以更灵活的控制日志的输出过程。方便项目的调试。
    • 官网
      https://logging.apache.org/log4j/2.x/
      在这里插入图片描述

    2. 三大组件

    • Log4J主要由Logger(日志记录器)、Appender(输出端)和 Layout(日志格式化器)组成。
    • Logger控制日志的输出级别与日志是否输出;
    • Appender指定日志的输出方式(ConsoleAppender控制台、FileAppender文件、JDBCAppender等);
    • Layout控制日志信息的输出格式(simple格式、HTML格式、PatternLayout自定义格式)。

    3. 日志的级别

    • Log4J 在 org.apache.log4j.Level 类中定义了OFFFATALERRORWARNINFODEBUGTRACEALL八种日志级别。
    • 一般只使用4个级别,优先级从高到低为 ERROR > WARN > INFO > DEBUG
      在这里插入图片描述

    4. 配置文件 log4j.properties

    • 只需要在项目路径下新建log4j.properties配置文件,并配置日志的输出格式等信息,Log4J框架会自动的加载配置文件,并将配置信息设置到Logger中。
    • 从下往上看,输出的级别为DEBUG,输出名为Console(可以自定义),但要和上面的输出名对应
      在这里插入图片描述
      在这里插入图片描述

    在这里插入图片描述

    5. 程序中使用Log4j

    • 项目中引入log4j的jar包
    • 添加配置文件log4j.properties
    # 控制台输出配置
    log4j.appender.Console=org.apache.log4j.ConsoleAppender
    log4j.appender.Console.layout=org.apache.log4j.PatternLayout
    log4j.appender.Console.layout.ConversionPattern=%d [%t] %p [%c] - %m%n
    # 指定日志的输出级别与输出端
    log4j.rootLogger=DEBUG,Console
    
    • 代码中使用
    package com.xdr630.hdfs;
    
    import org.apache.log4j.Logger;
    
    /**
     * @author xdr630
     * @version 1.0
     * @date 2021/4/10 16:15
     */
    public class log4jTest {
        public static void main(String[] args) {
            Logger logger = Logger.getLogger(log4jTest.class);
            logger.info("这是info");
            logger.warn("这是warn");
            logger.error("这是error");
            logger.fatal("这是fatal");
        }
    }
    
    

    在这里插入图片描述

    • 也可以把日志输出到文件中
    • 把上面的 log4j.properties 的级别改为 info,输出如下,发现没有 debug 的输出,意味着此时的最低级别就是 infoinfo 以上的都可以输出 ,以下的都不能输出,所以没有 debug 日志的输出。
      在这里插入图片描述

    本文来自博客园,作者:兮动人,转载请注明原文链接:https://www.cnblogs.com/xdr630/p/15254716.html

  • 相关阅读:
    min-height IE6的解决方案
    javascript数据类型检测方法
    typeof、instanceof与isPrototypeOf()的差异与联系
    获取真实IP地址
    表格中的IE BUG
    【译】你对position的了解有多少?
    vim快捷键
    syntaxerror : unexpected token &
    .Net 高效开发之不可错过的实用工具
    @media screen 针对不同移动设备——响应式设计
  • 原文地址:https://www.cnblogs.com/xdr630/p/15254716.html
Copyright © 2011-2022 走看看