通过Log4j可以方便的对项目中的日志进行处理——控制日志信息输出的目的地(控制台、文件、GUI组件或NT事件记录器)、控制每一条日志的输出格式(HTMLLayout布局格式、PatternLayout布局格式、SimpleLayout布局格式或TTCCLayout)、控制所输出日志信息的级别(DEBUG级别、INFO级别、WARN级别、ERROR级别或FATAL级别)等。下面从一个简单的例子入手来详细介绍Log4j的使用方法:
工程结构如下图:
TestLog4j.java文件中的代码:
package com.ghj.test; import org.apache.log4j.Logger; public class TestLog4j { private static final Logger logger = Logger.getLogger(TestLog4j.class); public static void main(String[] args) { logger.debug("This log comes from the DEBUG level!"); logger.info("This log comes from the INFO level!"); logger.warn("This log comes from the WARN level!"); logger.error("This log comes from the ERROR level!"); } }
log4j.properties文件中的代码:
log4j.rootLogger=DEBUG,Console,DailyRollingFile #将日志信息输出到控制台 log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.Encoding=UTF-8 log4j.appender.Console.layout=org.apache.log4j.SimpleLayout #将日志信息输出到操作系统D盘根目录下的index.html文件中 log4j.appender.DailyRollingFile=org.apache.log4j.DailyRollingFileAppender log4j.appender.DailyRollingFile.Encoding=UTF-8 log4j.appender.DailyRollingFile.layout=org.apache.log4j.HTMLLayout log4j.appender.DailyRollingFile.File=D\:\\index.html
配置Log4j日志输出级别:
上述log4j.properties文件中的第一行代码等号右边“DEBUG”字符串指明了log日志的输出级别,Log4j的日志输出级别一共有五级,从小到大分别是DEBUG、INFO、WARN、ERROR和FATAL。
注意:
1、日志信息的日志级别只有等于或高于所配置的日志级别时,该日志信息才会输出到指定的日志输出目的地,例如上述配置文件配置的日志级别为DEBUG,那么这时日志级别为DEBUG或INFO或WARN或ERROR或FATAL的日志信息都会输出到指定的日志输出目的地,但是如果将配置文件中的日志级别设置为INFO,那么这时日志级别为INFO或WARN或ERROR或FATAL的日志信息才能输出到指定的日志输出目的地,DEBUG级别的日志信息不会输出到日志的目的地;
2、如果在日志配置文件中不指明日志信息的输出级别,那么系统会将日志信息级别等于或高于DEBUG级别的信息输出到指定的日志目的地——一句话,Log4j的默认日志优先级为DEBUG级别。
Log4j日志输出目的地:
运行上面程序,我们会发现日志信息输出到了两个地方,分别是MyEclipse控制台和
正在总结中......