(PECL seaslog >=1.1.6)
SeasLog::analyzerCount — 透過層級、日誌路徑和關鍵字取得日誌數量
$level
, string $log_path
= ?, string $key_word
= ?): mixed`SeasLog` 使用系統管線取得 `grep -ai '{level}' | grep -aic '{key_word}'` 的計數值並返回 PHP (陣列或整數)。
級別
字串。日誌資訊級別。
日誌路徑
字串。日誌資訊路徑。
關鍵字
字串。用於搜尋日誌資訊的關鍵字。
如果 `level` 是 SEASLOG_ALL 或空值,則以 `array` 形式返回所有級別的計數。如果 `level` 是 SEASLOG_INFO 或其他級別,則以 `int` 形式返回計數。
範例 #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)