33 lines
1.1 KiB
PHP
33 lines
1.1 KiB
PHP
<?php
|
|
/**
|
|
* @package Bicycle
|
|
* @author Egor Isaev
|
|
* @description LogReader.php
|
|
* @copyright (c) 24/06/2026
|
|
*/
|
|
|
|
namespace System\Classes;
|
|
|
|
/**
|
|
* Источник логов для просмотра. Абстракция над хранилищем: сейчас FileLogReader
|
|
* (файлы), позже возможен DbLogReader (БД) — контроллер от реализации не зависит.
|
|
*/
|
|
interface LogReader
|
|
{
|
|
/**
|
|
* Возвращает записи лога, новые сверху.
|
|
*
|
|
* @param array $filters Фильтры: date (Y-m-d), channel (action|error|all),
|
|
* level, q (подстрока), limit
|
|
* @return array<int,array{datetime:string,level:string,message:string,channel:string}>
|
|
*/
|
|
public function read(array $filters = []): array;
|
|
|
|
/**
|
|
* Возвращает доступные даты логов (Y-m-d), новые сверху — для выбора в фильтре.
|
|
*
|
|
* @return string[]
|
|
*/
|
|
public function dates(): array;
|
|
}
|