|
Posted by news on 03/27/07 18:50
Anybody can tell me the full extend of Mattias Nilsson script?
I mean that I want to create log files that will contain ALL POSSIBLE
information for every hit on a page (ex. user's ip, pages visited, time
spend, entry and exit page, browser type and version, operating system,
files accessed, type of files, if possible geographical and demographical
data etc etc).
Is there something out there? Or is somebody experienced enough to show the
code (sorry but I'm just an ignorant newbie).
Unless somebody can send me a better script to create log files. I need a
script to create my own raw log file because I rent hosting from a server
that does not give me the raw log data.
Regards
Gun Jah Man
gun@freemail.gr
p.s. Mattia's Script:
<?php
/*
* Common Logfile Format script.
*
* Author: Mattias Nilsson <mattias_at_coolt.nu>
*
*/
/* User definable variables */
$logfile = "clf.log"; /* Filename of log to write to */
$timezone = "+0100"; /* Timezone correction */
$lookup_size = true; /* Set to true to enable filesize lookup */
$document_root = "/usr/local/apache/share/htdocs";
/* A note about the lookup_size directive:
* This will make this script lookup the size of the original file on disk,
* which may or may not be the same amount of data sent to the client.
* It does give you a hint though..
* Oh, you have to set $document_root aswell if this should work..
*/
function write_to_log($str) {
if($fd = @fopen($GLOBALS[ "logfile"], "a")) {
fputs($fd, $str);
fclose($fd);
}
}
function get_var($name,$default) {
if($var = getenv($name)) {
return $var;
} else {
return $default;
}
}
if($remote_host = get_var( "REMOTE_HOST", true)) {
$remote_host = get_var( "REMOTE_ADDR", "-");
}
$remote_user = get_var( "REMOTE_USER", "-");
$remote_ident = get_var( "REMOTE_IDENT", "-");
$server_port = get_var( "SERVER_PORT", 80);
if($server_port!=80) {
$server_port = ":" . $server_port;
} else {
$server_port = "";
}
$server_name = get_var( "SERVER_NAME", "-");
$request_method = get_var( "REQUEST_METHOD", "GET");
$request_uri = get_var( "REQUEST_URI", "");
$user_agent = get_var( "HTTP_USER_AGENT", "");
if($lookup_size == true && $document_root) {
$filename = ereg_replace( "\?.*", "", $request_uri);
$filename = "$document_root$filename";
if(!$size = filesize($filename)) {
$size = 0;
}
} else {
$size = 0;
}
$date = gmdate( "d/M/Y:H:i:s");
$log = "$remote_host $remote_ident $remote_user [$date $timezone] \"".
"$request_method http://$server_name$server_port$request_uri\" 200
$size\n";
write_to_log($log);
?>
Navigation:
[Reply to this message]
|