PHP Conference Nagoya 2025

SeasLog::analyzerCount

(PECL seaslog >=1.1.6)

SeasLog::analyzerCountПолучает количество журналов по уровню, log_path и key_word

Описание

public static SeasLog::analyzerCount(string $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)

Смотрите также

  • SeasLog::analyzerDetail() - Получает детализацию журнала по уровню, log_path, key_word, start, limit, order
Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top