PHP Conference Japan 2024

SeasLog::analyzerCount

(PECL seaslog >=1.1.6)

SeasLog::analyzerCount透過層級、日誌路徑和關鍵字取得日誌數量

說明

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

另請參閱

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top