Chr*_*man 7 php apache error-log
我需要将统计数据写入实时Apache access_log文件(我有另一个进程计算access_log文件中的特定行,它定期报告回另一个进程).
目前我只是通过在php中执行以下操作来强制进入access_log文件:
file("http://127.0.0.1/logme.php?stuff_that_I_can_watch_here");
Run Code Online (Sandbox Code Playgroud)
logme.php什么都不做,返回空200成功.
上述技术的问题在于,对于Apache服务器的每个请求,都会产生另一个请求写入日志 - 因此需要加倍所需的Apache服务器.
当服务器堆积起来时,对Apache服务器的简单且通常快速的本地调用需要5秒钟.
我可以直接写入access_log文件而不会导致问题,或者甚至可以使用类似于syslog()或error_log()的php写入apache_log文件吗?
您可以使用apache_note(http://php.net/apache_note)到你的价值观写一张纸条,然后用CustomLog与LogFormat(%{NOTE_NAME}n)(http://httpd.apache.org/docs/2.2/mod/mod_log_config.html)登录新钥匙.然后,解析访问日志的程序也可以读取新的日志记录参数.
小智 1
<?php
$h = fopen('/path/to/access_log', 'a');
fwrite($h, 'Message');
fclose($h);
?>
Run Code Online (Sandbox Code Playgroud)
其他人已经对该设计发表了评论。Apache access_log 用于 Apache 记录访问,期间。
我在一个应用程序中使用了大约十几个自定义日志文件,用于所有不同的监控、性能分析和取证目的。每个用途一个日志文件使日志分析更加容易。
| 归档时间: |
|
| 查看次数: |
14631 次 |
| 最近记录: |