Log4j-2自定义日志级代码生成器

时间:2017-02-12 20:06:34

标签: log4j2

我希望Logger能够实现自定义日志记录级别方法。例如,我想致电log.custom("custom level log")。根据{{​​3}}它是可能的,但没有足够的提示给我。有人可以帮助我理解这个命令到底做了什么吗?

java -cp log4j-core-2.8.jar \  
     org.apache.logging.log4j.core.tools.Generate$ExtendedLogger \
     com.mycomp.ExtLogger DIAG=350 NOTICE=450 VERBOSE=550 > com/mycomp/ExtLogger.java

此命令成功退出后,我应该采取哪些步骤?究竟应该交换什么?在哪里?

1 个答案:

答案 0 :(得分:2)

该工具的作用是生成可包含在项目中的源代码。目的是使用生成的类而不是标准的Log4j2 Logger。

在运行该工具之前,您需要决定调整自定义级别的内容以及相对于现有级别的排名。手册页显示了一个包含内置级别的int值的表。自定义级别的int值可能介于这些值之间。

在引用的示例中,该工具将在ExtLogger包中生成一个名为com.mycomp的类,该类使用三个自定义级别(DIAG,NOTICE和VERBOSE)扩展标准Log4j2 Logger。 DIAG的int值为350,因此它位于WARN(300)和INFO(400)之间。

该工具将生成的源代码写入控制台。该示例显示了如何将该输出重定向到文件。然后,您可以在项目中包含此文件。