(PECL seaslog >=1.1.6)
SeasLog::analyzerCount — Получает количество журналов по уровню, log_path и key_word
$level
, string $log_path
= ?, string $key_word
= ?): mixed`SeasLog` получает значение счётчика `grep -ai '{level}' | grep -aic '{key_word}'`, используя системный канал и возвращает в PHP (массив или целое число).
level
Строка. Уровень журнала.
log_path
Строка. Путь к журналу.
key_word
Строка. Ключевое слово для поиска в журнале.
Если `level` равен SEASLOG_ALL или не задан, возвращаются все уровни как массив. Если `level` равен SEASLOG_INFO или другой уровень, возвращается количество как целое число.
Пример #1 Пример использования SeasLog::analyzerCount()
<?php
$countResult1 = SeasLog::analyzerCount();
//с `level`
$countResult2 = SeasLog::analyzerCount(SEASLOG_DEBUG);
//с `level` и `log_path`
$countResult3 = SeasLog::analyzerCount(SEASLOG_ERROR,date('Ymd',time()));
//с `level` и `key_word`
$countResult4 = SeasLog::analyzerCount(SEASLOG_DEBUG,NULL,'accessToken');
var_dump($countResult1,$countResult2,$countResult3,$countResult4);
?>
Вывод приведённого примера будет похож на:
array(8) { ["DEBUG"]=> int(180) ["INFO"]=> int(214) ["NOTICE"]=> int(0) ["WARNING"]=> int(0) ["ERROR"]=> int(228) ["CRITICAL"]=> int(244) ["ALERT"]=> int(1) ["EMERGENCY"]=> int(0) } int(180) int(228) int(29)