所以我有一个从中央应用程序启动的java应用程序,问题是你可以在同一时间午餐许多应用程序,为什么导致日志几乎不可读,我的解决方案只是为每个调用添加app_instance_id日志,但这意味着修改太多的类。
我的问题是:log4j有类似的功能吗?还是有更好的方法?
PS:我不知道每个应用实例的单独文件
答案 0 :(得分:1)
使用MDC。您可以在引导时在MDC中设置app-instance-id。之后生成的任何线程都将继承该值。
MDC.put("instanceId", instanceId);
然后,在log4j模式中,指定%X{instanceId}
以将instanceId添加到每个日志行。这样,log4j配置对于所有实例都是相同的。