54 lines
1.6 KiB
PHP
Executable File
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);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|