instapage / php-logger
一个基于monolog/monolog的标准化日志与度量格式库。
1.4.0
2024-01-08 09:52 UTC
Requires
- php: >=7.3
- ext-json: *
- monolog/monolog: ^2
- psr/log: ^1
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-30 16:45:39 UTC
README
一个基于monolog/monolog
的标准化日志与度量格式库。
安装
将此添加到require
部分
"instapage/php-logger": "1.4.0"
或者,您可以输入composer require instapage/php-logger:1.4.0
。
示例
然后在您的应用程序中添加以下代码
<?php declare(strict_types=1); use Instapage\Logger\Factory\LoggerFactory; use Instapage\Metrics\Factory\MetricCollectorFactory; use Monolog\Logger; require_once dirname(__DIR__) . '/vendor/autoload.php'; // Preferably put these two on DI $logger = (new LoggerFactory())->create( 'my-service', Logger::DEBUG ); $metric = (new MetricCollectorFactory())->create( 'my-service.worker' ); // Simple one-liner $logger->info('User created', ['id' => 123, 'role' => 'admin']); $metric->collect('Queue size', 42); $metric->collect('Memory used by worker (MB)', 123.50);
输出
每条日志都是一行。这里的多行只是为了提高可读性。注意字段名称如何根据提供的值类型而变化。
{ "sChannel":"my-service", "sType":"log", "sMessage":"User created", "iLevel":200, "sLevelName":"INFO", "oContext": { "iId":123, "sRole":"admin" } }
{ "sChannel": "my-service.worker", "sType": "metric", "sMetricName": "Queue size", "iValue": 42 }
{ "sChannel": "my-service.worker", "sType": "metric", "sMetricName": "Memory used by worker (MB)", "fValue": 123.5 }
如何运行单元测试?
composer test
如何运行代码检查器?
composer lint
# to automatically fix some of the most common errors
composer lint:fix
是Docker爱好者吗?
您还可以使用以下Docker命令尝试该软件包
docker compose -f docker/docker-compose.yml up lint
docker compose -f docker/docker-compose.yml up lint:fix
docker compose -f docker/docker-compose.yml up test
docker compose -f docker/docker-compose.yml up example
docker compose -f docker/docker-compose.yml down
之后会干净地清理。