相关疑难解决方法(0)

Log4j2的RoutingAppender的通配符模式

我试图使用Log4j2的新RoutingAppender基于MDC(Log4j2中的ThreadContext)路由不同的日志.我想做的是以下内容:

  • 如果MDC映射有$ contextId - >追加到$ contextId appender(特定日志)
  • 如果MDC没有$ contextId - >追加到主appender(通用日志)

我想在标记中使用通配符模式实现此目的,然后使用for contextId($ {ctx:contextId})中的key参数进行过滤,并使用默认(不带键参数)作为主appender,但是我没有知道哪个值是那个通配符.

任何帮助表示赞赏,也许我正在走错路.我一直在阅读关于过滤器但似乎没有按我的意愿工作.

谢谢!

java logging log4j log4j2

6
推荐指数
1
解决办法
5784
查看次数

Log4j2:动态创建多个日志的日志文件

我目前正在创建一个可以拥有模块的系统(将它们视为插件),其中每个模块都可以拥有自己的专用日志.

我想使用log4j2项目进行日志记录,但我似乎对文件appender有些麻烦.

主项目(模块加载器和整个事物的"核心")应该有自己的日志文件,而模块应该有自己的(如mod_XXXXXXXX.log).

通过阅读有关appender的文档,我发现了这个FileAppender类,我打算使用它.直到我发现我不能简单地将appender添加到由创建的默认记录器LogManager.getLog().

LogManager返回的记录器是与Logger接口不同的记录器.

甚至搜索都没有给我任何近乎解决方案,我发现只是xml配置中的预定义文件日志 - 这不是我想要的.

谢谢你的阅读; 即使是最轻微的线索也欢迎:)

java logging log4j log4j2

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×2

log4j ×2

log4j2 ×2

logging ×2