Server IP : 104.21.14.48 / Your IP : 18.116.62.103 [ Web Server : Apache System : Linux b70eb322-3aee-0c53-7c82-0db91281f2c6.secureserver.net 6.1.90-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 2 12:09:22 EDT 2024 x86_64 User : root ( 0) PHP Version : 8.0.30.2 Disable Function : NONE Domains : 0 Domains MySQL : ON | cURL : ON | WGET : ON | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/wp-content/plugins/gravityforms/includes/logging/includes/ |
Upload File : |
<?php /* Finally, A light, permissions-checking logging class. * * Author : Kenneth Katzgrau < [email protected] > * Date : July 26, 2008 * Comments : Originally written for use with wpSearch * Website : http://codefury.net * Version : 0.2m * * Usage: * $log = new KLogger ( "log.txt" , KLogger::INFO ); * $log->LogInfo("Returned a million search results"); //Prints to the log file * $log->LogFATAL("Oh dear."); //Prints to the log file * $log->LogDebug("x = 5"); //Prints nothing due to priority setting */ class KLogger { const DEBUG = 1; // Most Verbose const INFO = 2; // ... const WARN = 3; // ... const ERROR = 4; // ... const FATAL = 5; // Least Verbose const OFF = 6; // Nothing at all. const LOG_OPEN = 1; const OPEN_FAILED = 2; const LOG_CLOSED = 3; /* Public members: Not so much of an example of encapsulation, but that's okay. */ public $Log_Status = KLogger::LOG_CLOSED; public $DateFormat = "Y-m-d G:i:s"; public $MessageQueue; private $offset; private $log_file; private $priority = KLogger::INFO; private $file_handle; public function __construct( $filepath , $priority, $offset = 0 ) { if ( $priority == KLogger::OFF ) return; $this->offset = $offset; $this->log_file = $filepath; $this->MessageQueue = array(); $this->priority = $priority; if ( file_exists( $this->log_file ) ) { if ( !is_writable($this->log_file) ) { $this->Log_Status = KLogger::OPEN_FAILED; $this->MessageQueue[] = "The file exists, but could not be opened for writing. Check that appropriate permissions have been set."; return; } } if ( $this->file_handle = fopen( $this->log_file , "a" ) ) { $this->Log_Status = KLogger::LOG_OPEN; $this->MessageQueue[] = "The log file was opened successfully."; } else { $this->Log_Status = KLogger::OPEN_FAILED; $this->MessageQueue[] = "The file could not be opened. Check permissions."; } return; } public function __destruct() { if ( $this->file_handle ) fclose( $this->file_handle ); } public function LogInfo($line) { $this->Log( $line , KLogger::INFO ); } public function LogDebug($line) { $this->Log( $line , KLogger::DEBUG ); } public function LogWarn($line) { $this->Log( $line , KLogger::WARN ); } public function LogError($line) { $this->Log( $line , KLogger::ERROR ); } public function LogFatal($line) { $this->Log( $line , KLogger::FATAL ); } public function Log($line, $priority) { if ( $this->priority <= $priority ) { $status = $this->getTimeLine( $priority ); $this->WriteFreeFormLine ( "$status $line \n" ); } } public function WriteFreeFormLine( $line ) { if ( $this->Log_Status == KLogger::LOG_OPEN && $this->priority != KLogger::OFF ) { if (fwrite( $this->file_handle , $line ) === false) { $this->MessageQueue[] = "The file could not be written to. Check that appropriate permissions have been set."; } } } private function getTimeLine( $level ) { if ( class_exists( 'DateTime' ) ) { $original_time = microtime( true ) + $this->offset; $microtime = sprintf( '%06d', ( $original_time - floor( $original_time ) ) * 1000000 ); $date = new DateTime( date( 'Y-m-d H:i:s.' . $microtime, (int) $original_time ) ); $time = $date->format( $this->DateFormat ); } else { $time = gmdate($this->DateFormat, time() + $this->offset); } switch( $level ) { case KLogger::INFO: return "$time - INFO -->"; case KLogger::WARN: return "$time - WARN -->"; case KLogger::DEBUG: return "$time - DEBUG -->"; case KLogger::ERROR: return "$time - ERROR -->"; case KLogger::FATAL: return "$time - FATAL -->"; default: return "$time - LOG -->"; } } } ?>