龙空技术网

Log4j 日志级别详解

不凡的牛仔很忙 103

前言:

如今大家对“log4j 压缩日志”大概比较注意,咱们都需要知道一些“log4j 压缩日志”的相关资讯。那么小编也在网摘上搜集了一些对于“log4j 压缩日志””的相关知识,希望咱们能喜欢,咱们一起来学习一下吧!

在本篇Log4j2教程中,学习有关log4j日志级别的知识。日志级别用于控制添加到日志语句中的信息量和类型。

1. Logging Levels

Log4j2支持以下日志级别:

TRACE

最低级别。用于跟踪程序的执行流。只用于调试目的。生成的日志量会非常大。DEBUG

用于记录调试信息。日志量会很大。INFO

默认级别。用于记录程序一般运行信息。这是你想在每个环境下记录的最低级别。WARN

用于记录潜在问题信息。这些消息指示软件正在按预期工作,但可能会发生问题。ERROR

用于记录错误事件。这些事件会对系统的操作产生负面影响。FATAL

最高级别。用于记录致命错误事件。这些事件将导致应用程序崩溃。OFF

用于关闭日志记录。所有日志记录请求都会被忽略。2. 设置日志级别2.1 在log4j2.properties中设置日志级别

给定的示例设置DEBUG日志级别为root记录器

rootLogger.level = debugappender.console.type = Console  appender.console.name = consoleLoggerappender.console.layout.type = PatternLayoutappender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n  
2.2 在log4j2.xml中设置日志级别
<Configuration status="warn">       <Appenders>          <!-- Console appender configuration -->          <Console name="console" target="SYSTEM_OUT">              <PatternLayout                  pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />          </Console>      </Appenders>      <Loggers>           <!-- Root logger referring to console appender -->        <Root level="DEBUG" additivity="false">              <AppenderRef ref="console" />          </Root>      </Loggers></Configuration>
3. 日志级别的工作原理

在log4j中,日志级别根据分配给它们的整数值排序,如下所示:

ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF

如果我们将日志级别设置为'X',则级别 >= X的任何日志请求都将记录在日志文件中。

例如,如果我们将日志级别设置为`INFO`,则应用程序将记录`INFO`、`WARN`、`ERROR`和`FATAL`范围内的消息。所有DEBUG和TRACE日志不会添加到日志文件中。

4. Log4j日志级别示例

Java程序演示日志级别的使用。该示例将日志级别设置为INFO,然后在不同的级别记录多个消息。

根据我们的讨论,该程序将打印除DEBUG和TRACE之外的所有日志消息。

javaimport 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 压缩日志 #apache2日志级别