现在的位置: 首页 > 综合 > 正文

log4j Logger and FileAppender 的学习

2018年02月03日 ⁄ 综合 ⁄ 共 1939字 ⁄ 字号 评论关闭

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

 

 

抱歉!评论已关闭.