piedweb / logs-analyzer
可以解析、过滤并通过PHP或CLI将您的APACHE/Nginx/Microsoft/所需日志导出到CSV。
v0.0.2
2021-01-20 15:33 UTC
Requires
- php: ~7.1|^8.0
- cheprasov/php-cli-args: ^2.1
- kassner/log-parser: ^1.4
- vimeo/psalm: ^4.4
Requires (Dev)
- phpunit/phpunit: >=7.0
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2024-09-20 23:54:10 UTC
README
日志分析器
此包可以通过PHP或CLI解析、过滤并将您的APACHE/Nginx/Microsoft/所需日志导出到CSV。
FR: https://piedweb.com/seo/logs
安装
通过 Packagist
$ composer require piedweb/logs-analyzer
用法
您可以直接在PHP中使用它,请参阅 bin/analyzer 示例。
否则,您可以使用命令工具过滤日志并将其导出到CSV。通过 --help
获取最后参数列表。
bin/analyzer --help
关于 --format
默认解析器适用于Apache访问日志
^(?P<host>[a-zA-Z0-9\-\._:]+) (?P<logname>(?:-|[\w-]+)) (?P<user>(?:-|[\w\-\.]+)) \[(?P<time>\d{2}/(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)/\d{4}:\d{2}:\d{2}:\d{2} (?:-|\+)\d{4})\] "(?P<request>(?:(?:[A-Z]+) .+? HTTP/(1\.0|1\.1|2\.0))|-|)" (?P<status>\d{3}|-) (?P<responseBytes>(\d+|-)) "(?P<HeaderReferer>.*?)" "(?P<HeaderUserAgent>.*?)"$
您可以直接通过CLI更改正则表达式,或者通过创建一个新的Class来管理您的特殊格式。您的新类必须扩展 \PiedWeb\LogsAnalyzer\LogLine
。
关于 --resume
此参数允许仅保留唯一的请求(requestMethod
+ url
+ status
),仅保留第一个 date
和 time
,并计算 hit
数量。
测试
$ composer test
贡献
请参阅 contributing
鸣谢
许可证
MIT许可证(MIT)。请参阅 许可证文件 了解更多信息。