Log4j日志级别 之 Log4j2日志级别示例

在本log4j教程中,了解log4j日志记录级别。系统和事件日志中显示的信息量和类型由配置文件中的log4j级别设置控制。请记住,日志中的每个消息都以消息级别为前缀。

在Log4j中,级别是org.apache.log4j.Level类的实例。

1. Log4j日志级别

Log4j具有以下级别的日志记录。

日志级别 描述
所有 此级别用于打开所有级别的日志记录。一旦配置完成,就根本不考虑级别。所有追加程序将开始将日志事件倒入日志文件中。
跟踪 最近在1.2版中引入了此功能,并将更多信息添加到调试级别日志中。
调试 您可以在开发时大量使用它们来调试应用程序。设置此级别后,每条日志消息都会进入日志文件。它基本上属于开发人员。
信息 重要的业务 Stream 程已经完成,好消息“如预期”。实时地,系统管理员将观看信息日志,以确保当前系统上正在发生的事情以及正常 Stream 程中是否有任何问题。
警告 它建议继续该应用程序,但您应格外小心。该应用程序可以容忍警告消息,但是应该始终对警告消息进行合理的检查,以确保它们不会证明应用程序中等待点火的隐藏饼干。
错误 它对您大喊大叫,出了什么问题,您必须立即进行调查。这仅表示您的应用程序已达到真正不希望的状态。例如数据库不可用或意外的格式化输入等。
致命 在正常情况下,您不会感觉到它们的存在,但是一旦它们出现,就表示非常不好的消息,甚至是应用程序死亡。
很简单。没有记录!

在log4j中,对于root记录器– 默认日志级别为DEBUG。

2.如何设置日志级别

2.1。在log4j.properties中设置日志级别

log4j.rootLogger=DEBUG, consoleAppender
 	
log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern=[%t] %-5p %c %x - %m%n

#Log info messages for package 'com.how2codex.web.controller'
log4j.logger.com.how2codex.web.controller=INFO, consoleAppender

查看log4j2.properties配置示例

2.2。在log4j.xml中设置日志级别

<log4j:configuration debug="true" xmlns:log4j='http://jakarta.apache.org/log4j/'>
 
  <appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
    </layout>
  </appender>

  <logger name="com.how2codex.web.controller">
	<level value="INFO" />
	<appender-ref ref="console" />
  </logger>
 
  <root>
  	<level value="DEBUG" />
    <appender-ref ref="console"></appender>
  </root>
 
</log4j:configuration>

查看log4j2.xml配置示例

3.日志级别如何工作?

在log4j中,日志级别具有顺序。

全部<跟踪<调试<信息<警告<错误<致命<关

如果我们将日志级别设置为“ X”,那么任何具有'level <= X'较小范围的日志请求都将记录在日志文件中。所有更高顺序的请求都不会被记录。

例如,如果我们设置日志级别信息,那么应用程序可以记录与范围的消息- INFOWARN,ERROR和FATAL

在此图中,垂直标题显示的级别LogEvent,而水平标题显示与适当的日志记录配置关联的级别。相交处标识LogEvent是允许将其通过以进行进一步处理()还是将其丢弃()。

Log4j日志级别
Log4j日志级别层次结构

4. Log4j日志级别示例

演示日志级别用法的Java程序。

import org.apache.log4j.*;

public class LogLevelExample 
{
   private static Logger logger = Logger.getLogger(LogLevelExample.class);
   
   public static void main(String[] args) {
      logger.setLevel(Level.INFO);

      logger.trace("Trace Message!");
      logger.debug("Debug Message!");
      logger.info("Info Message!");
      logger.warn("Warn Message!");
      logger.error("Error Message!");
      logger.fatal("Fatal Message!");
   }
}

程序输出。

Info Message!
Warn Message!
Error Message!
Fatal Message!

学习愉快!

参考:

Log4j文件

saigon has written 1440 articles

Leave a Reply