![](/img/trans.png)
[英]How can I disable Apache Commons / Log4J logging in third party libraries?
[英]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
方法之一,為它提供一個包裝StringWriter
的PrintWriter
,然后將結果提供給您要使用的任何日志記錄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.