生成自定义记录器

时间:2016-05-31 14:07:16

标签: java logging log4j log4j2

我想在log4j2中生成自定义Logger。我尝试了下面描述的here

java -cp log4j-core-2.6.jar org.apache.logging.log4j.core.tools.Generate$CustomLogger Logger TEST=550 PRODUKTION=200 > Logger.java

我从here获得了log4j-core-2.6.jar文件。如果我尝试在终端中运行命令(我使用osx10.11.5),我会收到以下错误:

Error: Main method not found in class org.apache.logging.log4j.core.tools.Generate, please define the main method as:
   public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application

你知道我做错了什么吗?

请问!

编辑:感谢Alexandre Cartapanis,我必须按如下方式更改命令:

java -cp log4j-core-2.6.jar 'org.apache.logging.log4j.core.tools.Generate$CustomLogger' MyLogger TEST=550 PRODUKTION=200 > Logger.java

1 个答案:

答案 0 :(得分:4)

尝试用''包围命令。

这里的错误说java在“org.apache.logging.log4j.core.tools.Generate”类中找不到main方法,但主方法是“org.apache.logging.log4j.core”。 tools.Generate $ CustomLogger”。

类名中的“$”可能有问题。我不是macos shell的专家,但我认为解决方案是逃避“$”字符。