Log4j是款经典的日志工具,下面我介绍一下它的简单使用。
1.下载Log4j.jar,并将它添加到工程的Libraries中。
2.在src下面新建文件log4j.properties,并设置编译器,使其在运行时将log4j.properties拷贝到运行路行下。
3.在log4j.properties里面写上如下内容:
##LOGGERS##
log4j.rootLogger=INFO,console,file
##APPENDERS##
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=d:\\log.txt
log4j.appender.file.MaxFileSize=1024KB
##LAYOUTS##
log4j.appender.console.layout=org.apache.log4j.SimpleLayout
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm} %t %p- %m%n
并保存。
4.在程序中像下面这样使用:
package com.cn.test;
import org.apache.log4j.Logger;
import org.apache.log4j.LogManager;
public class LogTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Logger log=LogManager.getLogger("LogTest");
log.info("log4j:info msg");
log.warn("log4j:warn msg");
}
}
运行后你会发现在D:盘下多了一个log.txt,程序在log.txt与在控制台输出了相关的info,warn信息。
5:log4j.properties文件的配置相关说明:
log4j.rootLogger=INFO,console,file
上面这一句指出了日志信息的输出级别为info,错误级别包括以下六种:FATAL、ERROR、WARN、INFO、DEBUG、TRACE
在具体的工程中常常是在开发阶段,将级别设置为INFO或DEBUG,当完成开发后将级别设置为WARN或ERROR,想想如果没有log4j我们是怎样做的?
很多时候我们是用System.out.println();直接输出到控制台的,那么开发完成后你就得付出一点时间去注释掉这些实际运行中没用的代码
那是一件很枯燥的事情。如果你用log4j来做这些,你只需将INFO改为WARN,那么所有的INFO信息将不再出现,是不是很棒?
console,file是设置日志信息的输出位置,在这里分别输出到console(控制台),file(文件)两个流中去。当然你也可以只让其输出到控制台,
或者只输出到文件中去。
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=d:\\log.txt
log4j.appender.file.MaxFileSize=1024KB
上面这几句设置了appender的实现类,以及具体的参数。
//Log4j提供的appender有以下几种:
//org.apache.log4j.ConsoleAppender(控制台)
//org.apache.log4j.FileAppender(文件)
//org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
//org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
可通过
log4j.appender.R.///MaxFileSize=100KB设置文件大小,还可通过
log4j.appender.R.MaxBackupIndex=1设置为保存一个备份文件
//org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
log4j.appender.console.layout=org.apache.log4j.SimpleLayout
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm} %t %p- %m%n
上面这几行设定了日志输出格式。