我正在尝试解析日志文件并将其存储在数组中。每隔1小时就会添加一条新信息(cronjob),我想确保在我的脚本查询数据库后,只有获得新信息(主机名)然后发送电子邮件,否则我们不应该发送电子邮件。我有以下格式的日志文件:
Oct 31 13:45:01 Monitoring [info] Hostname : abc@abc.com
Oct 31 13:45:01 Monitoring [info] A count : 2195073
Oct 31 13:45:01 Monitoring [info] B count : 2191572
Oct 31 13:50:02 Monitoring [info] Hostname : abc@abc.com
Oct 31 13:50:02 Monitoring [info] A count : 2195073
Oct 31 13:50:02 Monitoring [info] B count : 2191572
我希望仅比较主机名,并根据该比较/逻辑将决定发送电子邮件警报。因此,想要解析上面的日志文件并将其存储在一个数组中以执行上述操作。我将不得不在类下创建一个新函数来解析日志文件。
有人可以帮我解决一下如何创建解析上述日志文件的函数吗?
提前致谢!
答案 0 :(得分:0)
可能还需要一点点继续前进;你试过什么?你基本上只是采取每一行并解析它你想要的。有大量的日志解析器可供使用。
答案 1 :(得分:0)
如果您有此示例的日志,请尝试:
$str = "Oct 31 13:45:01 Monitoring [info] Hostname : abc@abc.com"; $pos = strpos($str, 'Hostname'); if($pos !== null){ echo substr($str, $pos+11); // hostname }