簡體   English   中英

如何在Log4j中使用apache commons cli?

[英]How can I use apache commons cli with log4j?

我可以使用apache commons cli編寫這種代碼:

HelpFormatter formatter = new HelpFormatter();
formatter.printHelp("myapp", options, true);

這將打印所有命令行選項及其描述。

我想使用Log4j之類的記錄器進行打印,但我不知道如何,HelpFormatter類中只有printHelp函數。

我不想過度設計任何東西,是否有標准方法可以做到這一點?

使用將PrintWriter作為第一個參數的兩個printHelp方法之一,為它提供一個包裝StringWriterPrintWriter ,然后將結果提供給您要使用的任何日志記錄API。

try (StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw)) {
    HelpFormatter f = new HelpFormatter();
    f.printHelp(pw, f.getWidth(), "myapp", null, options,
                f.getLeftPadding(), f.getDescPadding(), null, true);
    pw.flush();
    logger.info(sw.toString());
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM