生成自定义记录器
问题描述:
我想在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
答
尝试围绕与“”的命令。
这里的错误表明java无法在“org.apache.logging.log4j.core.tools.Generate”类中找到主要方法,但主要方法在“org.apache.logging.log4j.core .tools.Generate $ CustomLogger”。
可能是类名称中的“$”的麻烦。我不是macos shell的专家,但我认为解决方案是逃避“$”字符。
根据你的链接,你应该用''> Logger.java''替换''Logger.jar'',编译java文件,然后将它添加到你的应用程序类路径 –
呵呵抱歉只是一个坏的副本糊。这仍然是同样的问题。 – ReasyEasyPeasy