📜  log4j 属性控制台信息 (1)

📅  最后修改于: 2023-12-03 15:17:26.534000             🧑  作者: Mango

log4j 属性控制台信息

Log4j是Java应用程序的开源日志记录实用程序。 它可以为您提供在应用程序运行时收集和记录各种事件和数据的方法。Log4j属性是一种从外部配置文件(例如log4j.properties文件)加载配置信息的方法,而不是在应用程序代码中硬编码它。在控制台显示日志信息是一个常见的需求,可以使用log4j属性来配置控制台输出。

1. 在log4j.properties文件中配置控制台输出

在log4j.properties文件中添加以下内容,表示将日志信息输出到控制台。

log4j.rootLogger=DEBUG, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %c{1}:%L - %m%n
  • log4j.rootLogger:指定输出级别为DEBUG。
  • log4j.appender.console:指定控制台输出方式为org.apache.log4j.ConsoleAppender
  • log4j.appender.console.target:指定日志信息输出到控制台而不是标准输出流。
  • log4j.appender.console.layout:指定日志格式化方式为org.apache.log4j.PatternLayout
  • log4j.appender.console.layout.ConversionPattern:指定日志格式:时间 级别 输出位置 - 日志信息换行
2. 在Java代码中使用log4j输出日志信息

使用上述配置后,在Java代码中可以使用log4j输出日志信息到控制台:

import org.apache.log4j.Logger;

public class Demo {
  private static final Logger logger = Logger.getLogger(Demo.class);

  public static void main(String[] args) {
    logger.debug("This is a debug message");
    logger.info("This is an info message");
    logger.warn("This is a warning message");
    logger.error("This is an error message");
    logger.fatal("This is a fatal message");
  }
}

在运行Demo类后,控制台输出结果如下:

2021-08-08 18:50:33,183 DEBUG Demo:8 - This is a debug message
2021-08-08 18:50:33,183 INFO  Demo:9 - This is an info message
2021-08-08 18:50:33,183 WARN  Demo:10 - This is a warning message
2021-08-08 18:50:33,183 ERROR Demo:11 - This is an error message
2021-08-08 18:50:33,183 FATAL Demo:12 - This is a fatal message

可以看到,log4j按照上述配置输出了每条日志的时间、级别、输出位置和信息到控制台。

以上就是使用log4j属性控制台输出信息的方法。需要注意的是,在使用log4j输出日志信息之前,必须在配置文件中给出相应的配置。