63 lines
1.4 KiB
PHP
63 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace WizdomNetworks\WizeWeb\Utils;
|
|
|
|
/**
|
|
* Logger Utility
|
|
*
|
|
* A utility class for logging messages to a file.
|
|
*
|
|
* Supports logging messages at different levels (INFO, WARNING, ERROR) with timestamps.
|
|
*/
|
|
class Logger
|
|
{
|
|
/**
|
|
* @var string The path to the log file.
|
|
*/
|
|
protected static string $logFile = __DIR__ . '/../../logs/app.log';
|
|
|
|
/**
|
|
* Logs a message to the log file.
|
|
*
|
|
* @param string $level The log level (e.g., INFO, WARNING, ERROR).
|
|
* @param string $message The log message.
|
|
*/
|
|
public static function log(string $level, string $message): void
|
|
{
|
|
$timestamp = date('Y-m-d H:i:s');
|
|
$formattedMessage = "[$timestamp] [$level]: $message" . PHP_EOL;
|
|
|
|
file_put_contents(self::$logFile, $formattedMessage, FILE_APPEND | LOCK_EX);
|
|
}
|
|
|
|
/**
|
|
* Logs an informational message.
|
|
*
|
|
* @param string $message The log message.
|
|
*/
|
|
public static function info(string $message): void
|
|
{
|
|
self::log('INFO', $message);
|
|
}
|
|
|
|
/**
|
|
* Logs a warning message.
|
|
*
|
|
* @param string $message The log message.
|
|
*/
|
|
public static function warning(string $message): void
|
|
{
|
|
self::log('WARNING', $message);
|
|
}
|
|
|
|
/**
|
|
* Logs an error message.
|
|
*
|
|
* @param string $message The log message.
|
|
*/
|
|
public static function error(string $message): void
|
|
{
|
|
self::log('ERROR', $message);
|
|
}
|
|
}
|