我试图使用Log4j2的新RoutingAppender基于MDC(Log4j2中的ThreadContext)路由不同的日志.我想做的是以下内容:
我想在标记中使用通配符模式实现此目的,然后使用for contextId($ {ctx:contextId})中的key参数进行过滤,并使用默认(不带键参数)作为主appender,但是我没有知道哪个值是那个通配符.
任何帮助表示赞赏,也许我正在走错路.我一直在阅读关于过滤器但似乎没有按我的意愿工作.
谢谢!
我目前正在创建一个可以拥有模块的系统(将它们视为插件),其中每个模块都可以拥有自己的专用日志.
我想使用log4j2项目进行日志记录,但我似乎对文件appender有些麻烦.
主项目(模块加载器和整个事物的"核心")应该有自己的日志文件,而模块应该有自己的(如mod_XXXXXXXX.log).
通过阅读有关appender的文档,我发现了这个FileAppender类,我打算使用它.直到我发现我不能简单地将appender添加到由创建的默认记录器LogManager.getLog().
LogManager返回的记录器是与Logger接口不同的记录器.
甚至搜索都没有给我任何近乎解决方案,我发现只是xml配置中的预定义文件日志 - 这不是我想要的.
谢谢你的阅读; 即使是最轻微的线索也欢迎:)