diff options
author | Brion Vibber <brion@pobox.com> | 2009-11-27 12:28:15 -0800 |
---|---|---|
committer | Brion Vibber <brion@pobox.com> | 2009-11-27 12:32:55 -0800 |
commit | b933f5bb1557972d250530eea7ececd712303763 (patch) | |
tree | 0e56d966f8083e419caad326614b6815184f151e /lib | |
parent | 261ee0264adfb40a0821e45de5f80f81a278a03c (diff) |
request id on logs... pid + random id per web request + username + method + url
Diffstat (limited to 'lib')
-rw-r--r-- | lib/util.php | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/util.php b/lib/util.php index 6946f60fe..fa74c2f86 100644 --- a/lib/util.php +++ b/lib/util.php @@ -1050,8 +1050,32 @@ function common_log_line($priority, $msg) return date('Y-m-d H:i:s') . ' ' . $syslog_priorities[$priority] . ': ' . $msg . "\n"; } +function common_request_id() +{ + $pid = getmypid(); + if (php_sapi_name() == 'cli') { + return $pid; + } else { + static $req_id = null; + if (!isset($req_id)) { + $req_id = substr(md5(mt_rand()), 0, 8); + } + if (isset($_SERVER['REQUEST_URI'])) { + $url = $_SERVER['REQUEST_URI']; + } + $method = $_SERVER['REQUEST_METHOD']; + if (common_logged_in()) { + $user = common_current_user()->nickname; + } else { + $user = 'anon'; + } + return "$pid.$req_id $user $method $url"; + } +} + function common_log($priority, $msg, $filename=null) { + $msg = '[' . common_request_id() . '] ' . $msg; $logfile = common_config('site', 'logfile'); if ($logfile) { $log = fopen($logfile, "a"); |