首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从java代码创建log4j2附加器?

如何从java代码创建log4j2附加器?
EN

Stack Overflow用户
提问于 2013-07-01 22:07:49
回答 2查看 1.6K关注 0票数 1

我需要在我的应用程序中为不同的对象实例创建单独的日志。例如,如果我们使用书籍,我需要为每本书单独的日志文件。它可以很好地处理log4j2.xml文件,但是我的内存中可能有数百个这样的对象,我不想创建这么长的配置文件。我想从代码创建附加器和记录器。我查找了工作代码示例,但什么也没找到。

我尝试使用RollingFileAppender.createAppender,但没有找到如何将其附加到记录器,并且无法获得此函数参数的正确值。请帮助工作代码\配置如何为每个对象属性创建单独的日志文件。

也许可以在log4j2.xml中的appender\logger名称中使用通配符,或者使用渲染器?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-02 05:45:24

您可以在org.apache.logging.log4j.core.config.Configurator中使用静态方法#initialize(String contextName, ClassLoader loader, String configLocation) (请参阅源代码here)。(您可以为类加载器传递null。)

请注意,此类不是public API的一部分,因此您的代码可能会与任何次要发布的中断。

票数 0
EN

Stack Overflow用户

发布于 2013-07-02 09:47:20

如果您正在寻找基于"book“拆分日志文件,而不是创建一个非常具体的附加器或以编程方式配置log4j来处理它,那么您应该考虑一下MDC。

通过正确的MDC设置,可以直接根据MDC内容拆分日志文件(例如,在LogBack中,有一个SiftingAppender。我相信有类似的第三方附加者做同样的事情)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17406485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档