FileLogger
    
            
            in package
            
        
    
            
            implements
                            LoggerInterface                    
    
    
        
        
    
Interfaces, Classes, Traits and Enums
- LoggerInterface
Table of Contents
- DEFAULT_MAX_FILE_SIZE = 10485760
- DEFAULT_MAX_FILES = 5
- VALID_LOG_LEVELS = [\Psr\Log\LogLevel::EMERGENCY, \Psr\Log\LogLevel::ALERT, \Psr\Log\LogLevel::CRITICAL, \Psr\Log\LogLevel::ERROR, \Psr\Log\LogLevel::WARNING, \Psr\Log\LogLevel::NOTICE, \Psr\Log\LogLevel::INFO, \Psr\Log\LogLevel::DEBUG]
- $dateFormat : string
- $enableRotation : bool
- $fileHandle : null|resource
- $logFile : string|null
- $maxFiles : int
- $maxFileSize : int
- __construct() : mixed
- Constructor to initialize the logger configuration.
- __destruct() : mixed
- Destructor to ensure file handle is properly closed.
- alert() : void
- Action must be taken immediately.
- critical() : void
- Critical conditions.
- debug() : void
- Detailed debug information.
- emergency() : void
- System is unusable.
- error() : void
- Runtime errors that do not require immediate action but should be logged and monitored.
- info() : void
- Interesting events.
- log() : void
- Logs with an arbitrary level.
- notice() : void
- Normal but significant events.
- setLogFile() : void
- Sets and validates the log file path.
- warning() : void
- Exceptional occurrences that are not errors.
- closeFileHandle() : void
- Closes the file handle if open.
- formatLogEntry() : string
- Formats a log entry with timestamp, level, and message.
- interpolate() : string
- Interpolates context values into the message placeholders.
- rotateLogFile() : void
- Rotates the current log file.
- shouldRotate() : bool
- Checks if log rotation is needed.
- validateAndSetLogFile() : void
- Validates and sets the log file path.
- writeLogEntry() : void
- Writes log entry to file or error_log.
Constants
DEFAULT_MAX_FILE_SIZE
    private
        mixed
    DEFAULT_MAX_FILE_SIZE
    = 10485760
        
        
    
DEFAULT_MAX_FILES
    private
        mixed
    DEFAULT_MAX_FILES
    = 5
        
        
    
VALID_LOG_LEVELS
    private
        mixed
    VALID_LOG_LEVELS
    = [\Psr\Log\LogLevel::EMERGENCY, \Psr\Log\LogLevel::ALERT, \Psr\Log\LogLevel::CRITICAL, \Psr\Log\LogLevel::ERROR, \Psr\Log\LogLevel::WARNING, \Psr\Log\LogLevel::NOTICE, \Psr\Log\LogLevel::INFO, \Psr\Log\LogLevel::DEBUG]
        
        
    
Properties
$dateFormat
    private
        string
    $dateFormat
    
        
        
    
$enableRotation
    private
        bool
    $enableRotation
    
        
        
    
$fileHandle
    private
        null|resource
    $fileHandle
     = null
    
    
    
$logFile
    private
        string|null
    $logFile
    
        
        
    
$maxFiles
    private
        int
    $maxFiles
    
        
        
    
$maxFileSize
    private
        int
    $maxFileSize
    
        
        
    
Methods
__construct()
Constructor to initialize the logger configuration.
    public
                    __construct([null|string $logFile = null ][, int $maxFileSize = self::DEFAULT_MAX_FILE_SIZE ][, int $maxFiles = self::DEFAULT_MAX_FILES ][, bool $enableRotation = true ][, string $dateFormat = 'Y-m-d H:i:s' ]) : mixed
    
        Parameters
- $logFile : null|string = null
- 
                    Path to log file. If null, uses error_log() 
- $maxFileSize : int = self::DEFAULT_MAX_FILE_SIZE
- 
                    Maximum file size before rotation (bytes) 
- $maxFiles : int = self::DEFAULT_MAX_FILES
- 
                    Maximum number of rotated files to keep 
- $enableRotation : bool = true
- 
                    Whether to enable log rotation 
- $dateFormat : string = 'Y-m-d H:i:s'
- 
                    Date format for log entries 
Tags
Return values
mixed —__destruct()
Destructor to ensure file handle is properly closed.
    public
                    __destruct() : mixed
    
    
    
        Return values
mixed —alert()
Action must be taken immediately.
    public
                    alert(mixed $message[, array<string|int, mixed> $context = [] ]) : void
    
        Parameters
- $message : mixed
- $context : array<string|int, mixed> = []
Return values
void —critical()
Critical conditions.
    public
                    critical(mixed $message[, array<string|int, mixed> $context = [] ]) : void
    
        Parameters
- $message : mixed
- $context : array<string|int, mixed> = []
Return values
void —debug()
Detailed debug information.
    public
                    debug(mixed $message[, array<string|int, mixed> $context = [] ]) : void
    
        Parameters
- $message : mixed
- $context : array<string|int, mixed> = []
Return values
void —emergency()
System is unusable.
    public
                    emergency(mixed $message[, array<string|int, mixed> $context = [] ]) : void
    
        Parameters
- $message : mixed
- $context : array<string|int, mixed> = []
Return values
void —error()
Runtime errors that do not require immediate action but should be logged and monitored.
    public
                    error(mixed $message[, array<string|int, mixed> $context = [] ]) : void
    
        Parameters
- $message : mixed
- $context : array<string|int, mixed> = []
Return values
void —info()
Interesting events.
    public
                    info(mixed $message[, array<string|int, mixed> $context = [] ]) : void
    
        Parameters
- $message : mixed
- $context : array<string|int, mixed> = []
Return values
void —log()
Logs with an arbitrary level.
    public
                    log(mixed $level, string $message[, array<string|int, mixed> $context = [] ]) : void
    
        Parameters
- $level : mixed
- 
                    Log level 
- $message : string
- 
                    Log message 
- $context : array<string|int, mixed> = []
- 
                    Context data for interpolation 
Tags
Return values
void —notice()
Normal but significant events.
    public
                    notice(mixed $message[, array<string|int, mixed> $context = [] ]) : void
    
        Parameters
- $message : mixed
- $context : array<string|int, mixed> = []
Return values
void —setLogFile()
Sets and validates the log file path.
    public
                    setLogFile(string $logFile) : void
    
        Parameters
- $logFile : string
- 
                    Path to log file 
Tags
Return values
void —warning()
Exceptional occurrences that are not errors.
    public
                    warning(mixed $message[, array<string|int, mixed> $context = [] ]) : void
    
        Parameters
- $message : mixed
- $context : array<string|int, mixed> = []
Return values
void —closeFileHandle()
Closes the file handle if open.
    private
                    closeFileHandle() : void
    
    
    
        Return values
void —formatLogEntry()
Formats a log entry with timestamp, level, and message.
    private
                    formatLogEntry(string $level, string $message) : string
    
        Parameters
- $level : string
- 
                    Log level 
- $message : string
- 
                    Interpolated message 
Return values
string —Formatted log entry
interpolate()
Interpolates context values into the message placeholders.
    private
                    interpolate(string $message[, array<string|int, mixed> $context = [] ]) : string
    
        Parameters
- $message : string
- 
                    Message with placeholders 
- $context : array<string|int, mixed> = []
- 
                    Context data 
Return values
string —Interpolated message
rotateLogFile()
Rotates the current log file.
    private
                    rotateLogFile() : void
    
    
    
        Return values
void —shouldRotate()
Checks if log rotation is needed.
    private
                    shouldRotate() : bool
    
    
    
        Return values
bool —True if rotation is needed
validateAndSetLogFile()
Validates and sets the log file path.
    private
                    validateAndSetLogFile(string $logFile) : void
    
        Parameters
- $logFile : string
- 
                    Path to log file 
Tags
Return values
void —writeLogEntry()
Writes log entry to file or error_log.
    private
                    writeLogEntry(string $logEntry) : void
    
        Parameters
- $logEntry : string
- 
                    Formatted log entry