Spring(4):log4j打印日志

使用日志打印的步骤有三步:

1. 导入jar包(下载链接:http://logging.apache.org/log4j/1.2/download.html);


2. 编写 Log4j.properties 配置文件,文件路径在src目录下;

如下:

#log level & appender
log4j.rootLogger=DEBUG,A1,R
# ConsoleAppender \u8F93\u51FA
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n
#to file
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=logs/log.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n


3. 在程序中使用Logger类提供的多种方法实现日志打印

     Logger类提供了多种方法来处理日志活动。 Logger类不允许实例化一个新的记录器实例,但它提供了两个静态方法获得一个 Logger 对象:

  • public static Logger getRootLogger();

  • public static Logger getLogger(String name);

     此处两种方法的第一个返回应用程序实例根记录器并没有名字。

     任何其他命名的Logger对象实例是通过第二种方法通过记录器的名称获得。

     记录器名称是可以传递任何字符串,通常是类或包的名称。


static Logger log = Logger.getLogger(log4jExample.class.getName());

Logging 方法:

我们得到了一个名为记录器的实例之后,可以使用记录的几种方法来记录消息。 Logger类有专门用于打印日志信息下面的方法如下。

SN 方法及描述
1 public void debug(Object message)
这种方法打印使用 Level.DEBUG 消息级别
2 public void error(Object message)
这种方法打印使用 Level.ERROR 消息级别
3 public void fatal(Object message);
这种方法打印使用 Level.FATAL 消息级别
4 public void info(Object message);
这种方法打印使用 Level.INFO 消息级别
5 public void warn(Object message);
这种方法打印使用 Level.WARN 消息级别
6 public void trace(Object message);
这种方法打印使用Level.TRACE消息级别

所有的级别定义在org.apache.log4j.Level类中,并且任何上述方法都可以调用如下:

import org.apache.log4j.Logger;

public class LogClass {
   private static org.apache.log4j.Logger log = Logger
                                    .getLogger(LogClass.class);
   public static void main(String[] args) {
      log.trace("Trace Message!");
      log.debug("Debug Message!");
      log.info("Info Message!");
      log.warn("Warn Message!");
      log.error("Error Message!");
      log.fatal("Fatal Message!");
   }
}

当编译并运行LogClass程序会产生以下结果:

Debug Message!
Info Message!
Warn Message!
Error Message!
Fatal Message!

所有的调试消息更有意义,当它们在级别组合使用。


你可能感兴趣的:(技术知识拾掇,项目实战)