(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)
