Maison Java javaDidacticiel Comment utiliser la journalisation pour suivre les exceptions Java ?

Comment utiliser la journalisation pour suivre les exceptions Java ?

Apr 12, 2024 am 08:06 AM
日志记录 java异常

日志记录是跟踪 Java 异常的宝贵工具。要使用日志记录,需要配置日志记录框架(如 Logback 或 SLF4J)。可以使用 Logger 类记录异常,并在 catch 块中使用 log(Level, Throwable) 方法。一个实战案例是记录 NullPointerException 异常,通过设置日志级别为 DEBUG 还可生成堆栈跟踪日志。

Comment utiliser la journalisation pour suivre les exceptions Java ?

如何使用日志记录来跟踪 Java 异常

日志记录是跟踪应用程序行为、发现错误和诊断问题的宝贵工具。Java 提供了一个强大的日志记录框架,可以帮助你轻松有效地记录异常。

配置日志记录框架

首先,需要配置日志记录框架以记录异常。你可以使用广泛使用的日志记录库,如 Logback 或 SLF4J。以下是如何使用 Logback 配置日志记录:

<configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <root level="INFO">
        <appender-ref ref="STDOUT" />
    </root>

</configuration>
Copier après la connexion

记录异常

可以使用 Logger 类来记录异常。Logger 类提供了一组方法,如 info(), error(), 和 debug(),用于以不同级别记录消息。要记录异常,你可以使用 log(Level, Throwable) 方法:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Main {

    private static final Logger logger = LoggerFactory.getLogger(Main.class);

    public static void main(String[] args) {
        try {
            // 代码块可能会抛出异常
        } catch (Exception e) {
            // 使用 logger 记录异常
            logger.error("异常已发生", e);
        }
    }
}
Copier après la connexion

实战案例

以下是使用日志记录来跟踪 NullPointerException 异常的实战案例:

public class NullPointerExceptionExample {

    public static void main(String[] args) {
        try {
            // 尝试访问未初始化的对象
            String s = null;
            System.out.println(s.length());
        } catch (NullPointerException e) {
            // 使用日志记录器记录异常
            Logger logger = LoggerFactory.getLogger(NullPointerExceptionExample.class);
            logger.error("空指针异常已发生", e);
        }
    }
}
Copier après la connexion

运行此代码将生成以下日志输出:

16:10:35.567 [main] ERROR c.example.NullPointerExceptionExample - 空指针异常已发生
java.lang.NullPointerException
        at c.example.NullPointerExceptionExample.main(NullPointerExceptionExample.java:12)
Copier après la connexion

通过将日志级别设置为 DEBUG,还可以生成堆栈跟踪日志,以提供异常发生的详细信息。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Compétences en développement PHP : Comment implémenter la fonction de journalisation des accès au site Web Compétences en développement PHP : Comment implémenter la fonction de journalisation des accès au site Web Sep 22, 2023 am 08:31 AM

Compétences en développement PHP : Comment implémenter la fonction de journalisation des accès au site Web Au cours du processus de développement du site Web, nous devons souvent enregistrer le journal d'accès au site Web pour une analyse et un débogage ultérieurs. Cet article explique comment utiliser PHP pour implémenter la fonction de journalisation des accès au site Web et fournit des exemples de code spécifiques. 1. Créer un fichier journal Tout d'abord, nous devons créer un fichier pour stocker le journal. En PHP, vous pouvez utiliser la fonction file_put_contents() pour créer des fichiers et écrire du contenu. Vous trouverez ci-dessous un exemple de création d'un fichier journal

Conseils de développement Laravel : Comment gérer les exceptions et les enregistrements de journaux Conseils de développement Laravel : Comment gérer les exceptions et les enregistrements de journaux Nov 23, 2023 am 10:08 AM

Dans le développement de Laravel, la gestion des exceptions et la journalisation sont des éléments très importants, qui peuvent nous aider à localiser rapidement les problèmes et à gérer les exceptions. Cet article explique comment gérer les exceptions et les enregistrements de journaux pour aider les développeurs à mieux développer Laravel. Gestion des exceptions La gestion des exceptions signifie détecter l'erreur et la gérer en conséquence lorsqu'une erreur ou une situation inattendue se produit dans le programme. Laravel fournit une multitude de mécanismes de gestion des exceptions. Présentons les étapes spécifiques de la gestion des exceptions. 1.1 Types d'exceptions dans Larav

Comment créer une solution de journalisation personnalisée pour votre site Web PHP Comment créer une solution de journalisation personnalisée pour votre site Web PHP May 03, 2024 am 08:48 AM

Il existe plusieurs façons de créer une solution de journalisation personnalisée pour votre site Web PHP, notamment : en utilisant une bibliothèque compatible PSR-3 (telle que Monolog, Log4php, PSR-3Logger) ou en utilisant les fonctions de journalisation natives PHP (telles que error_log(), syslog( ), debug_print_backtrace()). La surveillance du comportement de votre application et le dépannage des problèmes peuvent être facilement effectués à l'aide d'une solution de journalisation personnalisée, par exemple : Utilisez Monolog pour créer un enregistreur qui enregistre les messages dans un fichier disque.

Comment effectuer la gestion des erreurs et la journalisation dans la conception de classes C++ ? Comment effectuer la gestion des erreurs et la journalisation dans la conception de classes C++ ? Jun 02, 2024 am 09:45 AM

La gestion des erreurs et la journalisation dans la conception des classes C++ incluent : Gestion des exceptions : détection et gestion des exceptions, utilisation de classes d'exceptions personnalisées pour fournir des informations d'erreur spécifiques. Code d'erreur : utilisez un entier ou une énumération pour représenter la condition d'erreur et renvoyez-la dans la valeur de retour. Assertion : vérifiez les conditions préalables et postérieures et lancez une exception si elles ne sont pas remplies. Journalisation de la bibliothèque C++ : journalisation de base à l'aide de std::cerr et std::clog. Bibliothèques de journalisation externes : intégrez des bibliothèques tierces pour des fonctionnalités avancées telles que le filtrage de niveau et la rotation des fichiers journaux. Classe de journal personnalisée : créez votre propre classe de journal, résumez le mécanisme sous-jacent et fournissez une interface commune pour enregistrer différents niveaux d'informations.

Conseil de développement : Comment se connecter aux applications ThinkPHP Conseil de développement : Comment se connecter aux applications ThinkPHP Nov 22, 2023 am 11:24 AM

Suggestions de développement : Présentation de la manière d'effectuer la journalisation dans les applications ThinkPHP : La journalisation est une tâche très importante lors du développement d'applications Web. Cela peut nous aider à surveiller l'état d'exécution de l'application en temps réel, à localiser les problèmes et à résoudre les bugs. Cet article explique comment effectuer la journalisation dans les applications ThinkPHP, y compris la classification des journaux, l'emplacement de stockage et la méthode de configuration. Parallèlement, certaines bonnes pratiques en matière de journalisation seront également partagées. 1. Classification des journaux de ThinkPHP : ThinkPHP prend en charge plusieurs types de classification des journaux

Optimisation de la journalisation du programme : partage de conseils sur la définition des niveaux de journalisation log4j Optimisation de la journalisation du programme : partage de conseils sur la définition des niveaux de journalisation log4j Feb 20, 2024 pm 02:27 PM

Optimisation de la journalisation du programme : Conseils pour définir les niveaux de journalisation log4j Résumé : La journalisation du programme joue un rôle clé dans le dépannage, le réglage des performances et la surveillance du système. Cet article partagera des conseils sur la configuration des niveaux de journalisation log4j, notamment sur la manière de définir différents niveaux de journaux et sur la manière d'illustrer le processus de configuration à l'aide d'exemples de code. Introduction : Dans le développement de logiciels, la journalisation est une tâche très importante. En enregistrant les informations clés pendant le processus d'exécution du programme, il peut aider les développeurs à découvrir la cause du problème et à effectuer l'optimisation des performances et la surveillance du système.

Points de connaissance du module de journalisation Python révélés : questions courantes réunies au même endroit Points de connaissance du module de journalisation Python révélés : questions courantes réunies au même endroit Mar 08, 2024 am 08:00 AM

Bases du module de journalisation Python Le principe de base du module de journalisation est de créer un enregistreur (logger) puis d'enregistrer des messages en appelant la méthode logger. Un enregistreur a un niveau qui détermine quels messages seront enregistrés. Le module de journalisation définit plusieurs niveaux prédéfinis, notamment DEBUG, INFO, ATTENTION, ERREUR et CRITICAL. importlogging#Créez un enregistreur nommé "my_logger" et définissez son niveau sur INFOlogger=logging.getLogger("my_logger")logger.setLevel(log

Technologie asynchrone et non bloquante dans la gestion des exceptions Java Technologie asynchrone et non bloquante dans la gestion des exceptions Java May 01, 2024 pm 05:42 PM

Des techniques asynchrones et non bloquantes peuvent être utilisées pour compléter la gestion traditionnelle des exceptions, permettant la création d'applications Java plus réactives et efficaces : Gestion des exceptions asynchrones : gestion des exceptions dans un autre thread ou processus, permettant au thread principal de continuer à s'exécuter, évitant ainsi le blocage. Gestion des exceptions non bloquantes : implique la gestion des exceptions pilotées par les événements lorsqu'une opération d'E/S se déroule mal, évitant ainsi le blocage des threads et permettant à la boucle d'événements de gérer les exceptions.

See all articles