nhance/app/Libraries/MyLogger.php
2025-01-02 15:01:29 +05:30

54 lines
1.6 KiB
PHP
Executable File

<?php namespace App\Libraries;
use CodeIgniter\Log\Logger;
use Config\Services;
use CodeIgniter\Log\Handlers\FileHandler;
use App\Helpers\HttpRequestHelper;
class MyLogger extends Logger
{
protected $db = null;
protected $redis = null;
public function __construct($config = null)
{
}
public function logme($level, $message, $context = [],$type = 0)
{
$message = '{context} - {uuid} -' . $message;
// /echo $message;//die();
$context = array_merge($context,['uuid' => (null !== get_session_uuid()) ? get_session_uuid() : 'CLI']);
// print_r($context);die();
// echo isset($context['context']) ? $context['context'] : $this->context;die();
$context['context'] = isset($context['context']) ? $context['context'] : get_session_context();
if($type == 1) //http log only
{
$path = WRITEPATH . 'logs/http';
$fileHandler = new FileHandler(['path' => $path]);
//get current request info
$requestInfo = HttpRequestHelper::getRequestInfo();
$context = array_merge($context,$requestInfo);
// print_r($context);//die();
$message = preg_replace_callback('/\{(.*?)\}/', function($matches) use ($context) { return $context[$matches[1]]; }, $message);
// echo $message;die();
$fileHandler->handle($level,$message);
}
if($type == 0) // default CI log
{
log_message($level,$message,$context);
}
}
}