1

我有一个 Web 应用程序,出于性能原因,它会将任何发送到日志文件的数据抛出。

我对这种方法有两个担忧:

  1. 为了不丢失数据,我如何最好地轮换日志?
  2. 对于每个用户会话,都会记录多个请求。每个请求都有一个唯一的 ID,因此我可以通过一种简单的方法将请求与会话联系起来。然而,问题是,如果我轮换日志,我可能会在一个日志中出现一个请求,而在另一个日志中出现另一个请求。

如何以允许我解析来自给定会话的所有请求的方式安排我的解析?我愿意定义会话时间限制,例如请求必须最多相隔 30 分钟。

如果我在 00 分钟有一个每小时的日志轮换:

如果用户在 13:59 发出一个请求,在 14:01 发出一个请求怎么办 - 用户最终会在两个不同的日志中收到请求。

4

1 回答 1

0

第 1 部分的答案:如果您使用 *nix,请使用 syslog/logger。检查 logger(1) 和 syslog.conf(5) 手册页。

对第 2 部分的回答:您不必一次只查看一个日志文件。less ${SERVICE}*通常会一起打开所有相关的日志文件:当您到达页面底部时, :n 会将您移动到下一个文件并 :p 返回。

或者,使用日志分析器程序。 Steve Kemp关于在 syslog haystacks 中迅速找到针的帖子及其评论涵盖了很多内容。

于 2010-04-03T16:45:24.490 回答