Java进阶学习——log4j的学习和使用
简介Loj4j
Log4j的组成
Log4j主要由三大组组件构成:
- Logger:
- 负责生成日志,并能够对日志信息进行分类筛选,通俗的讲就是决定什么日志信息应该被输出,什么日志信息应该被忽略。
- Appender:
- 定义了日志信息输出的目的地,指定日志信息应该被输出到什么地方,这些地方可以是控制台、文件或网络设备等。
- Layout:
- 指定日志信息的输出格式。
说明:
一个Logger可以有多个Appender,这意味着日志信息可以被输出到多个设备上,并且每个Appender都对应一种Layout,Layout决定了信息的输出格式。
定义配置文件
要在应用程序中使用Log4j,首先要在一个配置文件中配置Log4j的各个组件,然后就可以在程序中通过Log4jAPI操作日志。
Log4j支持编程方式、XML文件、属性文件对组件进行配置,我们在此处使用属性文件进行配置:
log4j.rootLogger = DEBUG,rootAppender,FileAppender#rootLogger是所有Logger组件的祖先log4j.logger.MyLogger =DEBUG,rootAppender,FileAppender#自定义的Logger组件#配置Appenderlog4j.appender.rootAppender = org.apache.log4j.ConsoleAppenderlog4j.appender.FileAppender = org.apache.log4j.FileAppenderlog4j.appender.DailyRollingFileAppender = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.RollingFileAppender = org.apache.log4j.RollingFileAppenderlog4j.appender.WriterAppender = org.apache.log4j.WriterAppender#配置FileAppender的文件保存位置log4j.appender.FileAppender.File=log.txt#配置Layout组件log4j.appender.rootAppender.layout = org.apache.log4j.SimpleLayoutlog4j.appender.FileAppender.layout = org.apache.log4j.PatternLayoutlog4j.appender.FileAppender.layout.ConversionPattern = %t %p - %m%n
在程序中使用Log4j
import org.apache.log4j.BasicConfigurator;import org.apache.log4j.Logger;import org.apache.log4j.PropertyConfigurator;public class Main { //获得RootLogger static Logger logger = Logger.getRootLogger(); public static void main(String[] args) { //BasicConfigurator.configure(); 使用默认的配置信息配置Log4j环境 //使用属性文件配置Log4j环境 PropertyConfigurator.configure(Main.class.getResource("log4j.properties")); //Logger的五种输出级别日志 logger.fatal("致命错误级别日志"); logger.error("错误级别日志"); logger.warn("警告级别日志"); logger.info("提醒级别日志"); logger.debug("调试级别日志"); }}