Log4j教程 - Log4j日志记录方法
Logger类具有处理日志记录活动的方法。我们可以使用两个静态方法创建Logger类的实例:
public static Logger getRootLogger();
public static Logger getLogger(String name);
第一个方法返回没有名称的根日志记录器。第二个方法按名称返回记录器。记录器的名称可以是任何字符串。我们通常使用类或包名称如下:
static Logger log = Logger.getLogger(log4jExample.class.getName());
日志记录方法
我们可以使用Logger类中的以下方法来记录消息。
方法 | 描述 |
---|---|
public void debug(Object message) | 打印Level.DEBUG级别的消息。 |
public void error(Object message) | 打印Level.ERROR级别的消息。 |
public void fatal(Object message) | 打印具有Level.FATAL级别的消息。 |
public void info(Object message) | 打印Level.INFO级别的消息。 |
public void warn(Object message) | 打印Level.WARN级别的消息。 |
public void trace(Object message) | 打印Level.TRACE级别的消息 |
所有级别都在org.apache.log4j.Level类中定义。
import org.apache.log4j.Logger;
public class Main {
private static org.apache.log4j.Logger log = Logger.getLogger(Main.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!");
}
}
Log4j教程 - Log4j HelloWorld
我们使用以下配置文件来控制log4j。
根记录器的级别定义为DEBUG,并将名为FILE的追加器附加到它。
追加器FILE定义为org.apache.log4j.FileAppender,并写入位于日志目录中的名为"log.out"的文件。
定义的布局模式为%m%n,它打印以换行符结尾的日志消息。
# Define the root logger with appender file
log = c:/log4j
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
log4j在Java代码中
以下Java类展示了如何使用Log4J日志库。
import org.apache.log4j.Logger;
import java.io.*;
import java.sql.SQLException;
import java.util.*;
public class Main {
/* Get actual class name to be printed on */
static Logger log = Logger.getLogger(
log4jExample.class.getName());
public static void main(String[] args)
throws IOException,SQLException{
log.debug("Hello this is an debug message");
log.info("Hello this is an info message");
}
}
所有库都应该在CLASSPATH中可用,log4j.properties文件应该在PATH中可用。