第三百零五节 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中可用。

相关推荐
《源码好优多》7 分钟前
基于Java Springboot出租车管理网站
java·开发语言·spring boot
盖盖衍上15 分钟前
4. SQL视图
数据库·sql
敲敲敲-敲代码3 小时前
【SQL实验】索引操作(菜单操作和命令操作)
数据库·sql·sqlserver
李钢蛋3 小时前
MySQL高级SQL技巧:提升数据库性能与效率
sql
·云扬·4 小时前
Java IO 与 BIO、NIO、AIO 详解
java·开发语言·笔记·学习·nio·1024程序员节
求积分不加C4 小时前
Spring Boot中使用AOP和反射机制设计一个的幂等注解(两种持久化模式),简单易懂教程
java·spring boot·后端
枫叶_v5 小时前
【SpringBoot】26 实体映射工具(MapStruct)
java·spring boot·后端
东方巴黎~Sunsiny5 小时前
java-图算法
java·开发语言·算法
敲敲敲-敲代码5 小时前
【SQL实验】视图操作(菜单操作和命令操作)
数据库·sql·sqlserver
2401_857617626 小时前
汽车资讯新趋势:Spring Boot技术解读
java·spring boot·后端