生成自定义记录器

问题描述:

我想在log4j2中生成自定义记录器。我尝试了以下描述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的核心-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 

你知道我在做什么错?

请注意!

编辑:感谢亚历山大Cartapanis我不得不改变命令,如下所示:

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

根据你的链接,你应该用''> Logger.java''替换''Logger.jar'',编译java文件,然后将它添加到你的应用程序类路径 –

+0

呵呵抱歉只是一个坏的副本糊。这仍然是同样的问题。 – ReasyEasyPeasy

尝试围绕与“”的命令。

这里的错误表明java无法在“org.apache.logging.log4j.core.tools.Generate”类中找到主要方法,但主要方法在“org.apache.logging.log4j.core .tools.Generate $ CustomLogger”。

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