Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何跨请求缓冲日志记录-Perl、log4Perl_Perl_Logging_Log4perl - Fatal编程技术网

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

如何跨请求缓冲日志记录-Perl、log4Perl,perl,logging,log4perl,Perl,Logging,Log4perl,我正在寻找一种只捕获特定阈值之后在给定时间范围内发生的特定问题的方法 e、 g 我的web应用程序使用一组通过POST发送的密钥 我在白名单上的键,所以我只在文章中寻找特定的键,以供应用程序使用 但是,我想跟踪任何不寻常的键,而不是我列表中的一部分 但是,我不想跟踪未列出的密钥的每一次出现——以防这只是一个试图通过的机器人 但是,一旦某个特定的未列出的键达到某个阈值(比如一周内100次),我想记录它 我如何使用Perl实现这一点,最好是使用log4Perl之类的工具 谢谢大家! 我想答案应该是“

我正在寻找一种只捕获特定阈值之后在给定时间范围内发生的特定问题的方法

e、 g

  • 我的web应用程序使用一组通过POST发送的密钥
  • 我在白名单上的键,所以我只在文章中寻找特定的键,以供应用程序使用
  • 但是,我想跟踪任何不寻常的键,而不是我列表中的一部分
  • 但是,我不想跟踪未列出的密钥的每一次出现——以防这只是一个试图通过的机器人
  • 但是,一旦某个特定的未列出的键达到某个阈值(比如一周内100次),我想记录它
  • 我如何使用Perl实现这一点,最好是使用log4Perl之类的工具


    谢谢大家!

    我想答案应该是“使用散列”

    在应用程序中定义哈希。每次出现错误请求时,提取唯一密钥,增加该密钥的哈希值。一旦该值达到阈值,就会发出警告。(然后将其重置)


    如果您需要跨会话持久性,您可以使用类似于
    Storable
    的方法来加载和保存“invalid requests”表

    等等,你不想知道机器人何时试图访问你的站点?这似乎…很奇怪。无论如何,您可能需要将密钥总数存储在永久性的位置,如文件或数据库,并在应用程序中定期检查它们。我可以使用服务器日志来查找bot何时出现-这只是为了查找特定密钥何时被发布多次。已工作!谢谢你的提示!