PHP 日本大会 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

字符串。日志信息级别。

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)

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top