1.log4j有三个主要组件:logger,appender和layout。
Logger:日志记录器,负责处理日志记录的大部分操作。
Appender:日志信息的输出目的地:负责控制日志记录操作的输出。
Layout:日志格式化器,负责格式化Appender的输出。
2.Log4j相对于System.out.println()方法的优点:在禁止一些特定的信息输出的同时,不妨碍其他信息的输出。
3.
package org.apache.Log4j;
public class Logger {
// Creation & retrieval methods:
public static Logger getRootLogger();
public static Logger getLogger(String name);
// printing methods:
public void debug(Object message);
public void info(Object message);
public void warn(Object message);
public void error(Object message);
// generic printing method:
public void log(Level l, Object message);
}
4.输出方法:debug < info < warn < error < fatal
log
5.以下是关于这条规则的一个例子。
// 取得名为 com.foo 的 logger实例
Logger logger = Logger.getLogger("com.foo");
// 现在设置它的级别。
// 一般情况下你不需要编程式的设置 logger的级别,通常都是通过配置文件来设置的。
cat.setLevel(Level.INFO);
Logger barlogger = Logger.getLogger("com.foo.Bar");
// 这个请求可用,因为 WARN >= INFO
logger.warn("Low fuel level.");
// 这个请求不可用,因为 DEBUG < INFO.
logger.debug("Starting search for nearest gas station.");
// 名为 com.foo.Bar的 logger继承了 com.foo 的级别,
//因此,下面的请求可用,因为 INFO >= INFO
barlogger.info("Located nearest gas station.");
//这个请求不可用,因为 DEBUG < INFO
barlogger.debug("Exiting gas station search");
6.以类的所在位置来命名 Logger 好象是目前已知的最好方法。
7.Log4j 允许日志请求被输出到多个输出源。用 Log4j 的话说,一个输出源被称做一个 Appender。Appender包括 console(控制台)、files(文件)、GUI components(图形的组件)、remote socket servers(socket 服务)、JMS(java 信息服务)、NT Event Loggers(NT 的事件日志)和 remote UNIX Syslog daemons(远程 UNIX 的后台日志服务)。它也可以做到异步记录。一个 logger可以设置超过一个的 appender。
8.
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文
件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
Logger:日志记录器,负责处理日志记录的大部分操作。
Appender:日志信息的输出目的地:负责控制日志记录操作的输出。
Layout:日志格式化器,负责格式化Appender的输出。
2.Log4j相对于System.out.println()方法的优点:在禁止一些特定的信息输出的同时,不妨碍其他信息的输出。
3.
package org.apache.Log4j;
public class Logger {
// Creation & retrieval methods:
public static Logger getRootLogger();
public static Logger getLogger(String name);
// printing methods:
public void debug(Object message);
public void info(Object message);
public void warn(Object message);
public void error(Object message);
// generic printing method:
public void log(Level l, Object message);
}
4.输出方法:debug < info < warn < error < fatal
log
5.以下是关于这条规则的一个例子。
// 取得名为 com.foo 的 logger实例
Logger logger = Logger.getLogger("com.foo");
// 现在设置它的级别。
// 一般情况下你不需要编程式的设置 logger的级别,通常都是通过配置文件来设置的。
cat.setLevel(Level.INFO);
Logger barlogger = Logger.getLogger("com.foo.Bar");
// 这个请求可用,因为 WARN >= INFO
logger.warn("Low fuel level.");
// 这个请求不可用,因为 DEBUG < INFO.
logger.debug("Starting search for nearest gas station.");
// 名为 com.foo.Bar的 logger继承了 com.foo 的级别,
//因此,下面的请求可用,因为 INFO >= INFO
barlogger.info("Located nearest gas station.");
//这个请求不可用,因为 DEBUG < INFO
barlogger.debug("Exiting gas station search");
6.以类的所在位置来命名 Logger 好象是目前已知的最好方法。
7.Log4j 允许日志请求被输出到多个输出源。用 Log4j 的话说,一个输出源被称做一个 Appender。Appender包括 console(控制台)、files(文件)、GUI components(图形的组件)、remote socket servers(socket 服务)、JMS(java 信息服务)、NT Event Loggers(NT 的事件日志)和 remote UNIX Syslog daemons(远程 UNIX 的后台日志服务)。它也可以做到异步记录。一个 logger可以设置超过一个的 appender。
8.
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文
件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)