【问题标题】:Apache Custom Log Format to track complete file downloads用于跟踪完整文件下载的 Apache 自定义日志格式
【发布时间】:2011-01-26 13:49:23
【问题描述】:

我正在尝试编写一个奖励系统,如果用户下载完整的文件,他们将获得奖励积分,那么我的日志格式应该是什么。

经过大量搜索,这是我第一次了解它并且之前没有做过自定义日志。

首先我应该为自定义日志编辑哪个文件,因为我找不到这个东西。我正在使用带有默认 apache、php5 和 mysql 安装的 ubuntu 服务器

# I use this commands and they work fine  
nano /etc/apache2/apache2.conf
/etc/init.d/apache2 restart

我认为这是我需要为我的目的做的事情

LogLevel notice
LogFormat "%f %u %x %o" rewards
CustomLog /var/www/logs/rewards_log rewards

这是命令还是缺少什​​么?有什么特别的地方需要我添加这个吗?

还有一件事%o 是针对已发送的文件大小,是否可以仅记录来自特定目录的文件?或者对于大小超过 10mb 的文件。

谢谢。

【问题讨论】:

    标签: php logging apache2 ubuntu-server


    【解决方案1】:

    查看/etc/apache2/apache2.conf,您应该能够找到诸如LogLevel 等日志指令。请注意,这些设置对于您的整个 Apache 安装都是全局的。

    CustomLog 指令只能在每个服务器/虚拟主机基础上设置(请参阅范围here)。

    要使用CustomLog 指令,您还必须为apache 加载mod_log 模块。这可以通过a2enmod 命令完成。

    问候, 延斯

    【讨论】:

    • 任何指南可以帮助我如何加载模块?有没有办法只记录大小超过 10mb 的文件?
    • 我运行命令a2enmod 它给了我选择但mod_log 在其中不可用,然后我检查了 apache.conf 它已经有一些用于 CustomLog 的代码。我已将上述代码添加到 apache.conf 重新启动它创建了一个文件但没有记录任何内容。
    【解决方案2】:

    似曾相识:

    How to use apache logs to check complete file downloads

    检查 mod_log_config 的手册:case is 重要 - 应该是 %X 和 %O 而不是 %x 和 %o。 %u 仅在您使用基本的 http 身份验证(这是一个非常糟糕的主意)时才有效,如果您必须采用这种方法,请使用(可选加密的)用户名删除一个 cookie,并在您的日志文件中使用 %C 将其读回。

    更好的解决方案是将文件访问封装在 PHP 脚本中。

    【讨论】:

    • 由于文件大小,我想要 apache 日志,大多数文件都在 300mb 以上,我相信使用这种方法会消耗更多资源。你能帮我看看日志格式吗?我将它粘贴到 apache2.conf 中,创建了一个具有该名称的文件,但没有记录任何内容。也可以只记录 10mb 以上的文件吗?是的,我将格式更改为 %X 和 %O
    猜你喜欢
    • 2011-08-09
    • 2017-06-27
    • 2011-01-23
    • 2011-01-20
    • 2014-12-01
    • 2015-07-01
    • 1970-01-01
    • 2023-01-17
    • 1970-01-01
    相关资源
    最近更新 更多