最简单的使用方法
以下代码以1_Log4j的简单使用简单案例为准
package log;
import org.apache.log4j.Logger;
public class Test {
private static Logger logger = Logger.getLogger(Test.class);
public static void main(String[] args) {
logger.debug("记录debug级别的信息 ");
logger.info("记录info级别的信息 ");
logger.error("记录error级别的信息");
}
}
### 设置###
log4j.rootLogger = debug,stdout,D,E
### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
### 输出DEBUG 级别以上的日志到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### 输出ERROR 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = E://logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
1.获取记录器
方法public static Logger getLogger( String name)
这个方法是通过指定的名字获得记录器,如果必要的话,则为这个名字创建一个新的记录器
对照代码理解
private static Logger logger = Logger.getLogger(Test.class.getName());
2.读取配置文件
当获取日志记录器的路径后,完美需要配置log4j的环境
常用的方法
- 自动快速地使用缺省Log4j环境:
BasicConfigurator.configure
- 读取使用Java的特性文件编写的配置文件:
PropertyConfigurator.configure ( String configFilename)
- 读取XML形式的配置文件:
DOMConfigurator.configure ( String filename )
3.日志级别
每个Logger都被了一个日志级别,用来控制日志信息的输出。日志级别从高到低分为:
- off 最高等级,用于关闭所有日志记录
- fatal 指出每个严重的错误事件将会导致应用程序的退出
- error 指出虽然发生错误事件,但仍然不影响系统的继续运行
- warm 表明会出现潜在的错误情形
- info 一般和在粗粒度级别上,强调应用程序的运行全程
- debug 一般用于细粒度级别上,对调试应用程序非常有帮助
- all 最低等级,用于打开所有日志记录
上面这些级别是定义在org.apache.log4j.Level类中。Log4j只建议使用4个级别,优先级从高到低分别是error,warn,info和debug。通过使用日志级别,可以控制应用程序中相应级别日志信息的输出。例如,如果使用b了info级别,则应用程序中所有低于info级别的日志信息(如debug)将不会被打印出来
对照语句理解
下面是给日志输出目的地D,E
的日记级别赋值语句
log4j.appender.D.Threshold = DEBUG
log4j.appender.E.Threshold = ERROR