第三百零五节 Log4j教程 - Log4j日志记录方法
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中可用。