Joywork/engine/classes/Logger.php
2026-05-22 21:21:54 +03:00

52 lines
1.3 KiB
PHP

<?php
class Logger
{
private $logFile;
public function __construct($filePath = 'telegram_bot.log')
{
$logDir = '/var/www/html/engine/classes/logs';
$this->logFile = $logDir . '/telegram_bot.log';
// Create the directory if it does not exist
if (!is_dir($logDir)) {
mkdir($logDir, 0777, true);
}
if (file_put_contents($this->logFile, "") === false) {
return ("Unable to open or write to log file: " . error_get_last()['message']);
}
}
public function log($message, $level = 'INFO')
{
if (is_array($message))
{
$message = implode(', ', $message);
}
$timestamp = date('Y-m-d H:i:s');
$formattedMessage = "[{$timestamp}] [{$level}] {$message}" . PHP_EOL;
if (file_put_contents($this->logFile, $formattedMessage, FILE_APPEND) === false)
{
return ("Unable to write to log file: " . error_get_last()['message']);
}
}
public function info($message)
{
$this->log($message, 'INFO');
}
public function warning($message)
{
$this->log($message, 'WARNING');
}
public function error($message)
{
$this->log($message, 'ERROR');
}
}