Heim  >  Artikel  >  Java  >  So verwenden Sie das Log4j-Protokoll in Java

So verwenden Sie das Log4j-Protokoll in Java

王林
王林nach vorne
2023-05-05 14:10:112680Durchsuche

为什么要用日志?

我们知道,程序在运行过程中会产生很多很多信息,比如在几点几分的时候运行了,运行的结果是怎么样的?为了我们更加了解程序运行的情况,可以通过日志来查看,日志可以在控制台输出,也可以输出至指定的文件内,在下面的文章中具体的给大家介绍。

下载:

Log4J是Apache公司的开源项目,用于日志处理。下载地址:

https://logging.apache.org/log4j/2.x/download.html

So verwenden Sie das Log4j-Protokoll in Java

下载完成后,我们可以得到一个后缀名为jre的包。

详细步骤:

一、打开IDEA

可以新建一个项目,然后在项目内新建一个lib包,把log4j.jar这个包放进去。

So verwenden Sie das Log4j-Protokoll in Java

然后在src内创建一个类:

So verwenden Sie das Log4j-Protokoll in Java

按照图的步骤即可:

So verwenden Sie das Log4j-Protokoll in Java

在这里把jre的包添加即可:

So verwenden Sie das Log4j-Protokoll in Java

二、创建日志对象

当完成上述操作后,即可在类里面建立对象:

注意:这里选择的Logger包是要来自apache的包,这里一定不要选错!

So verwenden Sie das Log4j-Protokoll in Java

import org.apache.log4j.Logger;

public class logTest {

    public static void main(String[] args) {

        //导入对象:
        Logger log = Logger.getLogger(logTest.class);
        log.error("用于记录error级别的信息"); //记录严重错误
        log.warn("用于记录warn级别的信息");   //记录警告
        log.info("用于记录info级别的信息");   //记录信息
        log.debug("用于记录debug级别的信息"); //记录debug
    }
}

接着我们需要创建配置文件:

新建一个文件file,文件后缀名一定要是properties

So verwenden Sie das Log4j-Protokoll in Java

然后新建一个文件,名字可以设为:resources,并且把格式改为如下图:

So verwenden Sie das Log4j-Protokoll in Java

然后把刚刚建的配置文件放入这个文件内即可:

So verwenden Sie das Log4j-Protokoll in Java

我们需要在log.properties内配置以下三个最要信息:

  • 配置你的程序将什么级别的日志记录到日志文件中

  • 指定日志输出的目的地,是将日志记录到程序的控制台(瞬时状态的)还是在磁盘的某个文件中(持久化保存)

  • 指定输出到控制台或者文件中的日志信息的输出格式,或者说以什么样的格式记录这些日志信息。

设置的模板如下:

直接复制到log.properties内即可:

# 1.设置输出级别info,可以将info以及更高级别的记录到日志文件中,但其更低的比如debug级别就不会记录到日志文件中
# stdout是设置的日志记录的目的地(名字可以随便起的当时要对应上)
log4j.rootLogger=info,stdout

#2.设置日志记录的目的地(ConsoleAppender是记录到控制台)
log4j.appender.stdout=org.apache.log4j.ConsoleAppender

#3.设置记录的格式或样式(System.err是红色样式、System.out是黑色样式)
log4j.appender.stdout.Target=System.err
# 设置记录的格式
#PatternLayout是按照我们自定义规则布局 (%d %l %m %n就是指定的规则布局)
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %l %m %n

这个配置信息我们可以先不看,完成上面的配置,我们先运行一下上面的那段代码:

So verwenden Sie das Log4j-Protokoll in Java

如果出现这样,说明是正确的。 我们重新写一段代码来看看这个日志的功能:

import org.apache.log4j.Logger;

import java.util.Scanner;

public class test2 {
    public static void main(String[] args) {

        Logger logger = Logger.getLogger(test2.class);
        Scanner input = new Scanner(System.in);
        try{
            System.out.println("请输入除数:");
            int a = input.nextInt();
            logger.debug("bug:输入除数"+a);
            logger.info("info:输入除数"+a);
            System.out.println("请输入被除数:");
            int b = input.nextInt();
            logger.debug("bug:输入除数"+b);
            logger.info("info:输入除数"+b);
            int c = a/b;

            //把结果记录到日志文件中
            logger.debug("bug:结果"+c);
            logger.info("info:结果"+c);
            System.out.println("结果是:"+c);

        } catch (Exception e) {
            e.printStackTrace();
            System.out.println(e.getMessage());
        }finally {
            System.out.println("程序结束!!");
        }
    }

}

这是一段除法的运算,先运行,看效果:

So verwenden Sie das Log4j-Protokoll in Java

我们发现,我们在程序内执行的每一步,日志都记录了下来,因为在配置文件内设置的是输出至控制台,所以直接在控制台显示了日志信息,如果需要输出至指定文件,需要配置如下:

So verwenden Sie das Log4j-Protokoll in Java

然后再运行除法的程序:

So verwenden Sie das Log4j-Protokoll in Java

Die Protokollinformationen werden nicht auf der Konsole angezeigt, da die Ausgabe in die angegebene Datei eingestellt wurde: Entsprechend dem festgelegten Pfad können wir Folgendes sehen:

So verwenden Sie das Log4j-Protokoll in Java

Ein solcher Datensatz enthält Zeitinformationen, Programmnameninformationen und Alles Informationen darüber, was in welcher Zeile des Programms passiert ist, werden aufgezeichnet. Natürlich gibt es noch viele weitere Ausgabeformate, die Sie nach Bedarf einrichten können!

Hier sprach Senior Xiaoying über die Log4j-Protokollierung. Nach Abschluss dieser Schritte ist eine einfache Protokollierung abgeschlossen. Die folgenden Protokollausgabestufen müssen ebenfalls beachtet werden.

Protokollausgabestufe:

1.off: die höchste Stufe, mit der die gesamte Protokollierung ausgeschaltet wird
2.fatal gibt an, dass jeder schwerwiegende Fehler zum Beenden der Anwendung führt
3.error bezieht sich auf das Senden eines Fehlerereignisses. beeinträchtigt jedoch immer noch nicht den Betrieb des Systems Ebene, die zum Einschalten der gesamten Protokollierung verwendet wird

Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Log4j-Protokoll in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen