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