• [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 程序中修改日志访问级别】

      待补充 。。。


  • 相关阅读:
    怎样打印日志
    log4j(一)
    idea没有subversion问题
    tomcat启动报异常(一)
    HashSet
    spring容器初始化bean和销毁bean之前进行一些操作的定义方法
    MyBatis中$和#的区别
    基本数据类型与引用数据类型
    Access restriction: The method 'CharacterEncoder.encode(byte[])' is not API...
    Object源码
  • 原文地址:https://www.cnblogs.com/share23/p/9847841.html
Copyright © 2020-2023  润新知