52 lines
1.3 KiB
PHP
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');
|
||
|
|
}
|
||
|
|
}
|