我所见过的最好的方法是将Servlet筛选器与NDC或MDC信息一起使用。可以在http://wiki.apache.org/logging-
log4j/NDCvsMDC上对两者进行快速比较。
我发现MDC过去对我来说效果更好。请记住,您将需要更新log4j属性文件以包括您喜欢的任何版本(模式定义位于http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html)。
有关使用servlet过滤器配置MDC的完整示例,请参见http://veerasundar.com/blog/2009/11/log4j-mdc-
mapped-diagnostic-context-example-
pre/。
稍微易于配置,但明显劣等的选择:您可以选择仅打印每个请求的线程ID(通过属性文件),并确保您记录的每个请求的第一件事是会话标识符。它不是适当的(或有用的),但是可以用于小批量的应用程序。



