mvar / log-parser
通用日志解析器
v1.1.0
2017-06-13 18:59 UTC
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: ~4.8
Suggests
- mvar/apache2-log-parser: Allows to easily parse Apache web server log files
This package is not auto-updated.
Last update: 2024-09-14 18:58:36 UTC
README
这个库允许您轻松遍历Apache、nginx或其他任何Web服务器的日志文件。
主要功能
- 日志文件迭代器
- 解析器抽象,帮助您实现自定义解析器
- 即使对于大文件,内存占用也低
安装
这个库可以在Packagist上找到。推荐通过Composer进行安装
composer require mvar/log-parser:^1.0
基本用法
假设您有一个名为my.log
的日志文件,内容如下
GET /favicon.ico 200
GET /about 404
要遍历该文件,您只需使用正则表达式初始化SimpleParser
,并将其传递给LogIterator
<?php require __DIR__ . '/vendor/autoload.php'; use MVar\LogParser\LogIterator; use MVar\LogParser\SimpleParser; // Pass your regular expression $parser = new SimpleParser('/(?<method>\S+)\s+(?<path>\S+)\s+(?<response_code>\d+)/'); foreach (new LogIterator('my.log', $parser) as $data) { var_export($data); echo "\n"; }
上述示例将输出
array ( 'method' => 'GET', 'path' => '/favicon.ico', 'response_code' => '200', ) array ( 'method' => 'GET', 'path' => '/about', 'response_code' => '404', )
也可以通过在文件名前添加流包装器来解析压缩文件
$logFile = 'compress.zlib://file:///path/to/log.gz';
如何使用
已实现的解析器
- mvar/apache2-log-parser - 基于本库的Apache访问/错误日志解析器
许可证
本软件包采用MIT许可证。有关详细信息,请参阅LICENSE文件。