elementary / gelf-php
一个用于将日志消息发送到兼容 GELF 后端(如 Graylog2)的 PHP 实现。
Requires
- php: >=5.3.9
- paragonie/constant_time_encoding: ^1
- psr/log: ~1.0
Requires (Dev)
- phpunit/phpunit: ~4.8.36
- squizlabs/php_codesniffer: ~2.0
Provides
- psr/log-implementation: ~1.0
README
一个用于将日志文件发送到兼容 GELF 后端(如 Graylog2)的 PHP 实现。此库符合 PSR 标准(关于结构(4),编码风格(1,2)和日志(3))。
它松散地基于原始的 Graylog2 gelf-php 和 mlehner 的分支。
原始 graylog2/gelf-php 的稳定版本和弃用
此实现于 2013-12-19 成为官方 PHP GELF 库,现在以 graylog2/gelf-php
发布。同时,旧库被弃用,建议升级。
由于弃用的库从未获得稳定版本,我们决定将其保留为 v0.1
。这意味着:如果您有一个基于弃用库的项目但无时间升级到 1.0 版本,我们建议您按以下方式修改您的 composer.json
"require": {
// ...
"graylog2/gelf-php": "0.1.*"
// ...
}
运行额外的 composer update
之后,一切应该按预期工作。
用法
建议使用 composer 安装
通过运行 composer require graylog2/gelf-php
或手动定义将其添加到 composer.json
"require": {
// ...
"graylog2/gelf-php": "~1.5"
// ...
}
重新安装依赖项: composer install
示例
有关用法示例,请访问 /examples。
HHVM
虽然支持/测试了 HHVM,但仍有一些限制需要注意
- Stream-context 支持非常有限(截至 2014 年)- 尤其是关于 SSL - 许多用例可能无法按预期工作(或根本无法工作...)
fwrite
的行为略有不同
默认情况下,当在 HHVM 上运行时,失败的单元测试会被跳过。它们也都被标注为 @group hhvm-failures
。您可以通过在环境中设置 FORCE_HHVM_TESTS=1
来强制运行这些失败的测试。因此,您可以通过运行以下命令来特别检查 HHVM 失败的状态:
FORCE_HHVM_TESTS=1 hhvm vendor/bin/phpunit --group hhvm-failures
许可证
此库采用 MIT 许可证。有关详细信息,请参阅 LICENSE 文件。
开发 & 贡献
欢迎您修改、扩展和修复任何您喜欢的部分。:-) 如果您有任何问题/建议等,您可以通过 Twitter(@bzikarsky)或 freenode#graylog2 上给我发消息与我联系。
工具
- composer,最好以系统全局安装的形式安装为
composer
- PHPUnit
- 可选:用于 PSR-X 兼容性检查的 PHP_CodeSniffer
步骤
- 克隆仓库并进入:
git clone [email protected]:bzikarsky/gelf-php && cd gelf-php
- 安装依赖项:
composer install
- 运行单元测试:
vendor/bin/phpunit
- 检查 PSR 兼容性:
vendor/bin/phpcs --standard=PSR2 src tests examples