64 lines
1.4 KiB
PHP
64 lines
1.4 KiB
PHP
<?php
|
|
|
|
/**
|
|
* This file is part of CodeIgniter 4 framework.
|
|
*
|
|
* (c) CodeIgniter Foundation <admin@codeigniter.com>
|
|
*
|
|
* For the full copyright and license information, please view
|
|
* the LICENSE file that was distributed with this source code.
|
|
*/
|
|
|
|
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
|
|
*/
|
|
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;
|
|
}
|
|
}
|