生成自定义日志记录器

3
我希望能够创建一个自定义的Logger在log4j2中。我尝试了下面这个描述的方法(链接):
java -cp log4j-core-2.6.jar org.apache.logging.log4j.core.tools.Generate$CustomLogger Logger TEST=550 PRODUKTION=200 > Logger.java

我从这里获取了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

根据您提供的链接,您应该将“> Logger.jar”替换为“> Logger.java”,编译Java文件,然后将其添加到应用程序类路径中。 - Alexandre Cartapanis
抱歉,刚才只是复制粘贴出了问题。问题仍然存在。 - SamuelTJackson
1个回答

5

尝试用''将命令包围起来。

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

可能与类名中的"$"有关。我不是macos shell的专家,但我认为解决方法是转义"$"字符。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接