Logger
日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。
Ø DEBUG:指出细粒度信息事件对调试应用程序是非常有帮助的。
Ø INFO: 消息在粗粒度级别上突出强调应用程序的运行过程。
Ø WARN:表明会出现潜在错误的情形。
Ø ERROR:指出虽然发生错误事件,但仍然不影响系统的继续运行。
Ø FATAL:指出每个严重的错误事件将会导致应用程序的退出。
两个可用的特别的日志记录级别:
Ø ALL:是最低等级的,用于打开所有日志记录。
Ø OFF:是最高等级的,用于关闭所有日志记录。
Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。
static Logger logger = Logger.getLogger(simpandfile.class); // 日志记录器
Appender 控制日志怎样输出。
Ø FileAppender: 把日志事件写入一个文件
使用FileAppender
FileAppender可以用这种方式创建:
FileAppender appender = null;
try {
appender = new FileAppender(new PatternLayout(),"filename");
} catch(Exception e) {}
上面用到的构造函数:
FileAppender(Layout layout, String filename)
实例化一个FileAppender并且打开变量"filename"指定的文件。
另一个有用的构造函数是:
FileAppender(Layout layout, String filename, boolean append)
实例化一个FileAppender并且打开变量"filename"指定的文件。
这个构造函数还可以选择是否对指定的文件进行追加的方式输出。如果没有指定值,那么默认的方式就是追加。
例子----------程序实现了SimpleLayout和FileAppender
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.SimpleLayout;
import org.apache.log4j.FileAppender;
public class simpandfile {
static Logger logger = Logger.getLogger(simpandfile.class); // 日志记录器
public static void main(String args[]) {
SimpleLayout layout = new SimpleLayout(); // 输出格式:级别-日志信息
FileAppender appender = null;
try {
//实例化一个FileAppender并且打开变量"filename"指定的文件。
//用到的构造函数:
//FileAppender(Layout layout, String filename, boolean append)
//这个构造函数还可以选择是否对指定的文件进行追加的方式输出。如果没有指定值,那么默认的方式就是追加。
appender = new FileAppender(layout, "src/democreen/log4jexamples1/output1.txt", false);
// 对指定的文件不进行追加的方式输出
//路径可以是绝对路径,也可以是相对路径,通过对比可以发现下列有何区别。
logger.addAppender(appender);
logger.setLevel((Level) Level.DEBUG);
logger.debug("11Here is some DEBUG");
logger.info("Here is some INFO");
logger.warn("Here is some WARN");
logger.error("Here is some ERROR");
logger.fatal("Here is some FATAL");
} catch (Exception e) {
}
}
}
output1.txt
DEBUG - 11Here is some DEBUG
INFO - Here is some INFO
WARN - Here is some WARN
ERROR - Here is some ERROR
FATAL - Here is some FATAL