如何跨请求缓冲日志记录 - Perl,log4Perl

时间:2015-01-21 17:23:06

标签: perl logging log4perl

我正在寻找一种方法,只能在特定时间范围内捕捉特定阈值后发生的特定问题。

e.g。

  1. 我的网络应用程序使用一组通过POST发送的密钥
  2. 我将密钥列入白名单,因此我只在POST中查找应用程序使用的特定密钥
  3. 但是,我想跟踪任何不寻常的密钥,而不是我列表中的一部分
  4. 但是,我不想跟踪每一个未列出的密钥 - 如果这只是一个试图通过的机器人
  5. 但是,一旦特定的未列出的密钥达到阈值 - 一周说100次 - 我想记录它。
  6. 如何使用Perl完成此操作,理想情况下使用log4Perl?

    谢谢!

1 个答案:

答案 0 :(得分:2)

我认为答案是'使用哈希'。

在您的应用中定义哈希值。每次发出错误请求时,提取唯一键,增加该键的哈希值。一旦值达到阈值,就吐出警告。 (然后重置它)。

如果您需要跨会话持久性,则可以使用类似Storable的内容来加载和保存“无效请求”。表。