请求范围内的Log4J

时间:2011-10-10 13:59:59

标签: java log4j

在撰写此查询之前,我在以下位置审核了类似的查询:

我觉得我的查询听起来很相似但不一样。

您是否曾在请求输入时遇到日志消息分组,并在响应关闭时刷新它们。即预期的操作顺序如下:

  1. 配置Logger以请求范围。
  2. 服务器接收请求。
  3. 每个上下文bean写入的日志由请求范围的记录器缓冲。
  4. 准备,冲洗和关闭的响应。
  5. 记录器收到通知,表示响应已完成。
  6. now logger将缓冲的消息作为批处理写入关联的appender,然后清除其缓冲区。
  7. 我正在寻找目前可用的log4j实现的可能性。

    请分享您的意见。

2 个答案:

答案 0 :(得分:3)

将请求ID包含在日志中(您可以使用log4j的NDC)。按此ID和时间戳排序日志文件。

我认为记录订单中的事件与原始订单不同是错误的。这可能会导致非常大的混乱。

答案 1 :(得分:2)

我通常不按要求对日志进行分组,因为对话比单个请求长。所以我的解决方案是将用户名添加到log4j's MDC

这样,我可以为每个用户创建一个日志文件或查看用户发出的所有请求(加上响应以及代表用户在请求之外执行的所有代码,例如开始后台工作)。