You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.4 KiB
64 lines
1.4 KiB
<?php namespace Tests\Support\Log\Handlers;
|
|
|
|
/**
|
|
* Class TestHandler
|
|
*
|
|
* A simple LogHandler that stores the logs in memory.
|
|
* Only used for testing purposes.
|
|
*/
|
|
|
|
class TestHandler extends \CodeIgniter\Log\Handlers\FileHandler
|
|
{
|
|
|
|
/**
|
|
* Local storage for logs.
|
|
*
|
|
* @var array
|
|
*/
|
|
protected static $logs = [];
|
|
|
|
/**
|
|
* Where would the log be written?
|
|
*/
|
|
//--------------------------------------------------------------------
|
|
|
|
public function __construct(array $config)
|
|
{
|
|
parent::__construct($config);
|
|
$this->handles = $config['handles'] ?? [];
|
|
$this->destination = $this->path . 'log-' . date('Y-m-d') . '.' . $this->fileExtension;
|
|
|
|
self::$logs = [];
|
|
}
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
/**
|
|
* Handles logging the message.
|
|
* If the handler returns false, then execution of handlers
|
|
* will stop. Any handlers that have not run, yet, will not
|
|
* be run.
|
|
*
|
|
* @param $level
|
|
* @param $message
|
|
*
|
|
* @return boolean
|
|
*/
|
|
public function handle($level, $message): bool
|
|
{
|
|
$date = date($this->dateFormat);
|
|
|
|
self::$logs[] = strtoupper($level) . ' - ' . $date . ' --> ' . $message;
|
|
|
|
return true;
|
|
}
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
public static function getLogs()
|
|
{
|
|
return self::$logs;
|
|
}
|
|
|
|
//--------------------------------------------------------------------
|
|
}
|
|
|