当前位置: 首页 > article >正文

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


http://www.kler.cn/a/378043.html

相关文章:

  • Navicat 17 功能简介 | 转储SQL文件
  • rnn/lstm 项目实战
  • 【Python】【数据可视化】【商务智能方法与应用】课程 作业一 飞桨AI Studio
  • 个人对Numpy中transpose()函数的理解
  • 网络层3——IP数据报转发的过程
  • Python+Appium+Pytest+Allure自动化测试框架-安装篇
  • Excel常用函数与操作
  • ArcGIS软件之“新建中学最适合地址”地图制作
  • 十款思维导图软件推荐,有适合你的一款!!!
  • JavaScript的第十二天
  • 使用PostgreSQL进行高效数据管理
  • python爬虫获取数据后的数据提取
  • 面试题:JVM(二)
  • MySQL FIND_IN_SET 函数详解
  • 施耐德M310PLC通讯之ModbusTCP(一)
  • Hyperledger Fabric 使用了那些共识机制,共识机制对比
  • 算法闭关修炼百题计划(五)
  • vue3的defineSlots()
  • Docker篇(容器的备份与迁移)
  • 使用 JWT 实现 .NET 应用的授权与鉴权
  • 探索Python新境界:Buzhug库的神秘面纱
  • 第k个排列
  • 热key总结
  • AutoBench-V:一个专为 大型视觉语言模型基准测试而设计的全自动框架
  • 【Python实战】-- csv数据汇总
  • 12-Docker发布微服务