(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
字符串。日志信息级别。
log_path
字符串。日志信息路径。
key_word
字符串。日志信息的搜索关键字。
如果 `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)