Apache自定义日志格式,用于跟踪完整文件下载

时间:2010-03-11 20:38:26

标签: php logging apache2 ubuntu-server

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

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

首先我应该编辑哪个文件自定义日志,因为我无法找到这个。我使用的是默认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的文件。

谢谢。

2 个答案:

答案 0 :(得分:1)

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

CustomLog指令只能按服务器/虚拟主机设置(参见范围 here)。

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

此致 延

答案 1 :(得分:0)

Deja vu:

How to use apache logs to check complete file downloads

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

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