[Java] Log4j


0. 说明

  Log4j 介绍 && Log4j 的日志等级 && Log4j 的配置方式

  部分参考:

  log4j


1. 介绍

  Apache Log4j 是一个基于 Java 的日志记录工具。

  log4j 是几种 Java 日志框架之一。


2. log4j 的日志等级

级别描述
OFF 最高级别,用于关闭日志记录。
FATAL 导致应用程序提前终止的严重错误。一般这些信息将立即呈现在状态控制台上。
ERROR 其他运行时错误或意外情况。一般这些信息将立即呈现在状态控制台上。
WARN 使用已过时的API,API的滥用,潜在错误,其他不良的或意外的运行时的状况(但不一定是错误的)。一般这些信息将立即呈现在状态控制台上。
INFO 令人感兴趣的运行时事件(启动/关闭)。一般这些信息将立即呈现在状态控制台上,因而要保守使用,并保持到最低限度。
DEBUG 流经系统的详细信息。一般这些信息只记录到日志文件中。
TRACE 最详细的信息。一般这些信息只记录到日志文件中。

 3. Log4j 配置方式

  有三种方法来配置log4j:

    通过 .properties 文件,通过 XML 文件,通过 Java 代码。

  【方式一:修改 log4j.properties 】

  

   【方式二:修改 XML 文件】

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//LOGGER" "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
<log4j:configuration>
    <!-- 
         appender指定输出目的地,如控制台或文件;
         appender的名称任意
    -->
    <appender name="stdout" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d{ABSOLUTE} %5p %c{1}:%L - %m%n" />
        </layout>
    </appender>
 
    <!-- 
         category(类别)为'org.springframework'的logger只记录level为“info”或更高级别的消息;
         即:如果您使用的类名获取logger(如Logger.getLogger(AClass.class))
         而且AClass是org.springframework包的一部分,则它属于这一category
    -->
    <logger name="org.springframework">
        <level value="info"/>
    </logger>

    <!-- 
         spring的所有日志消息都被设置为“info”等级,但对于类PropertyEditorRegistrySupport,
         我们想将其日志消息设置为“debug”等级
    -->
    <logger name="org.springframework.beans.PropertyEditorRegistrySupport">
        <level value="debug"/>
    </logger>
 
    <logger name="org.acegisecurity">
        <level value="info"/>
    </logger>
    
    
    <root>
        <!-- 
            所有日志消息的级别为“debug”或更高的将被记录,除非另有定义
            所有日志消息将都记录到appender “stdout”中,除非另有定义
        -->
        <level value="debug" />
        <appender-ref ref="stdout" />
    </root>
</log4j:configuration>

  【方式三:在 Java 程序中修改日志访问级别】

  待补充 。。。


原文地址:https://www.cnblogs.com/share23/p/9847841.html