我想使用log4j 而不是任何配置文件。 我婉做是值得的:如何在log4j2.02中以編程方式配置記錄器?
logger = (Logger) LogManager.getLogger(this.getClass());
String pattern = "[%level] %m%n";
//do something to make this logger output to an local file "/xxx/yyy/zzz.log"
我發現這個答案:Configuring Log4j Loggers Programmatically。
但Logger#addAppender
的文檔說: 這種方法是不通過公共API暴露並主要用於單元測試。
我不確定是否在我的代碼中使用此方法的正確方法,或者有其他更好的解決方案來解決我的問題。
如果您打算將記錄器jar遮蔽以將其完全隱藏,請將其添加爲第一行:LogManager.setFactory(new Log4jContextFactory());現在,您還可以使用遮陽過濾器省略所有配置和屬性文件。 – bebbo 2017-12-20 14:44:31