(PECL seaslog >=1.1.6)
SeasLog::analyzerDetail — 按级别、日志路径、关键词、起始位置、限制数量和顺序获取日志详细信息
$level
,$log_path
= ?,$key_word
= ?,$start
= ?,$limit
= ?,$order
= ?`SeasLog` 使用系统管道执行 `grep -ai '{level}' | grep -ai '{key_word}' | sed -n '{start},{limit}'p` 命令,并将结果数组返回给PHP。
level
字符串。日志信息级别。
log_path
字符串。日志信息路径。
key_word
字符串。日志信息的搜索关键词。
start
整数。默认为 `1`。
limit
整数。默认为 `20`。
order
整数。默认为 SEASLOG_DETAIL_ORDER_ASC。另见
返回结果数组。
注意:
当 `start`、`limit` 不为 NULL 且在 Windows 系统上时,SeasLog 将抛出异常,消息为 'Param start and limit don't support Windows'。
示例 #1 SeasLog::analyzerDetail() 例子
<?php
$result1 = SeasLog::analyzerDetail(SEASLOG_ERROR);
//使用 `logger` 和 `key_word`
$result2 = SeasLog::analyzerDetail(SEASLOG_ERROR,'test/logger/','neeke');
//使用 `start` 和 `limit`
$result3 = SeasLog::analyzerDetail(SEASLOG_ERROR,'test/logger/','neeke',1,2);
var_dump($result1,$result2,$result3);
?>
以上示例将输出类似以下内容
array(20) { [0]=> string(93) "2018-07-09 12:52:53 | ERROR | 12247 | 5b42ea2580e51 | 1531111973.528 | log message from neeke" [1]=> string(93) "2018-07-09 12:52:54 | ERROR | 12256 | 5b42ea26d6657 | 1531111974.878 | log message from neeke" [2]=> string(93) "2018-07-09 12:52:55 | ERROR | 12265 | 5b42ea277b8d4 | 1531111975.506 | log message from neeke" [3]=> string(104) "2018-07-09 12:52:55 | ERROR | 12274 | 5b42ea27db5dc | 1531111975.898 | log message from the other people" ... } array(3) { [0]=> string(93) "2018-07-09 12:52:53 | ERROR | 12247 | 5b42ea2580e51 | 1531111973.528 | log message from neeke" [1]=> string(93) "2018-07-09 12:52:54 | ERROR | 12256 | 5b42ea26d6657 | 1531111974.878 | log message from neeke" [2]=> string(93) "2018-07-09 12:52:55 | ERROR | 12265 | 5b42ea277b8d4 | 1531111975.506 | log message from neeke" } array(2) { [0]=> string(93) "2018-07-09 12:52:53 | ERROR | 12247 | 5b42ea2580e51 | 1531111973.528 | log message from neeke" [1]=> string(93) "2018-07-09 12:52:54 | ERROR | 12256 | 5b42ea26d6657 | 1531111974.878 | log message from neeke" }