| 
<?/*#############################################
 logger class
 version 0.1
 some parts of this file are from Ricardo Costa - [email protected] - 2002
 from his logger class to be found at phpclasses.org - thanks
 #############################################*/
 class Logger    {
 var $path;
 var $filename;
 /*    constructor
 expects:    STRING logfile name, STRING logfile_rotation
 returns:        VOID    */
 function Logger($path,$logfile_name,$logfile_rotation)    {
 $this->path = $path;
 $extension = ($logfile_name == "")?"unnamed":$logfile_name;
 if ($logfile_rotation == "DAILY")
 $this->filename = date("Y.m.d")."_".$extension.".log";
 elseif ($logfile_rotation == "MONTHLY")
 $this->filename = date("Y.m")."_".$extension.".log";
 else
 $this->filename = $extension.".log";
 }
 
 /*    public method to add a log entry to logfile
 expects:    STRING message
 returns:        VOID        */
 function addLog($message)    { $this->_log($message); }
 
 /*     private method to write data to logfile
 expects:    STRING message
 returns:        VOID
 throws:        FILE ERROR        */
 function _log($message, $type)    {
 $logger_file = fopen($this->path.$this->filename,"a");
 if(!$logger_file)
 die("error while trying to write logdata to file. Check permissions");
 // $ini = strlen($GLOBALS["REQUEST_URI"]) - 40;
 $content = $this->_buildMessage($message, $type);
 fwrite($logger_file, $content);
 fclose($logger_file);
 }
 
 /*    private method to build logfile message
 can be overridden to create different log format
 expects:    STRING message
 returns:        STRING log_entry    */
 function _buildMessage($message, $type)    {
 $log_entry =    date("d.m.Y :: H:m:s")." :: ".
 str_pad(substr($GLOBALS["REMOTE_ADDR"]." ", 0, 15), 20, ".", STR_PAD_RIGHT)." ".
 str_pad($GLOBALS["user_name"], 25, ".", STR_PAD_RIGHT).
 str_pad(substr($GLOBALS["PHP_SELF"], strrpos($GLOBALS["PHP_SELF"], "/"), strlen($GLOBALS["PHP_SELF"])), 30, ".", STR_PAD_RIGHT).
 "<$type> $message\n";
 return $log_entry;
 }
 }
 ?>
 
 |