我想使用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