subjective-php / psr-log-mongodb
使用 mongo 实现的 PSR LoggerInterface 的具体实现
v2.1.0
2023-05-08 18:56 UTC
Requires
- php: ^7.0||^8.0
- ext-mongodb: *
- mongodb/mongodb: ^1.0
- psr/log: ^1.0
- subjective-php/psr-log-helper: ^3.0
- subjective-php/util-exceptions: ^4.0
Requires (Dev)
- phpunit/phpunit: >=6.5
- squizlabs/php_codesniffer: ^3.3
Provides
This package is auto-updated.
Last update: 2024-09-08 21:52:22 UTC
README
这是使用 MongoDB 作为后端存储实现的 PSR-3。
文档结构
每个构建的 mongo 文档将包含以下字段。
- timestamp 当前 UTC 日期/时间
- level RFC-5424 日志级别
- message 日志消息
- context 不适合字符串的额外信息
示例文档
{ "_id" : ObjectId("57fc0050fc77ae5c017e52b1"), "timestamp" : ISODate("2016-10-08T02:02:12.944Z"), "level" : "info", "message" : "api access", "context" : { "method" : "GET", "resource" : "/widgets/123", "status" : 200 } }
日志记录器不处理日志保留。 通过设置 TTL 从集合中过期数据
基本用法
<?php use SubjectivePHP\Psr\Log\MongoLogger; use MongoDB\Client; $collection = (new Client())->selectDatabase('testing')->selectCollection('logs'); $logger = new MongoLogger($collection); $logger->debug('Some debug info');
消息/上下文插值
消息可以包含占位符,这些占位符可以用上下文字符数组中的值替换。在下面的示例中,最终记录的消息将是 User chadicus was created
<?php use SubjectivePHP\Psr\Log\MongoLogger; use MongoDB\Client; $collection = (new Client())->selectDatabase('testing')->selectCollection('logs'); $logger = new MongoLogger($collection); $logger->info('User {username} was created', ['username' => 'chadicus']);
要求
PSR Log MongoDB 需要 PHP 7.0(或更高版本)。
Composer
要添加库作为本地、项目级依赖项,请使用 Composer!只需将 subjective-php/psr-log-mongodb
添加到项目中的 composer.json
。
composer require subjective-php/psr-log-mongodb
联系
开发者可通过以下方式联系
运行构建
通过代码签出,在您的 PATH 中获取 Composer 并运行
composer install ./vendor/bin/phpunit ./vendor/bin/phpcs