onramplab/laravel-log-enhancement

增强Laravel日志功能的包

v10.0.2 2023-09-06 07:32 UTC

README

Software License CircleCI Total Downloads

一个日志增强库。包括

  • 覆盖 Log 门面

    • 它扩展了默认的 Laravel Log 门面,在上下文中添加类路径和跟踪ID进行日志记录。
  • LogglyHandler

    • 它扩展了 monolog 的 LogglyHandler,并支持标签
  • DatadogHandler

    • 它支持 Datadog 日志

安装

composer require onramplab/laravel-log-enhancement
  • 使用 Datadog APM 连接 PHP 日志和跟踪
curl -LO https://github.com/DataDog/dd-trace-php/releases/latest/download/datadog-setup.php
sudo php datadog-setup.php --php-bin=all

用法

LoggerFacade

日志 JSON 将看起来像这样

{
  "message": "Test",
  "context": {
    "class_path": "App\\Fake",
    "tracking_id": "652c3456-1a17-42b8-9fa7-9bee65e655eb"
  },
  "level": 200,
  "level_name": "INFO",
  "channel": "local",
  "extra": {},
  "timestamp": "2021-01-04T22:47:56.598608-0800"
}

LogglyHandler

您可以将以下块添加到 config/logging.php 文件中。

use Monolog\Formatter\LogglyFormatter;
use Onramplab\LaravelLogEnhancement\Handlers\LogglyHandler;

return [
  //...


  'channels' => [
    //...

    'loggly' => [
        'driver' => 'monolog',
        'level' => 'info',
        'handler' => LogglyHandler::class,
        'handler_with' => [
            'token' => env('LOGGLY_TOKEN'),
            'tags' => env('LOGGLY_TAGS'),
        ],
        'formatter' => LogglyFormatter::class,
    ],
  ]
];

DatadogHandler

您可以将以下块添加到 config/logging.php 文件中。

use Monolog\Formatter\JsonFormatter;
use Onramplab\LaravelLogEnhancement\Handlers\DatadogHandler;

return [
  //...

  'channels' => [
    //...

    'datadog' => [
      'driver' => 'monolog',
      'level' => 'info',
      'handler' => DatadogHandler::class,
      'handler_with' => [
          'key' => env('DD_LOG_API_KEY'),
          'region' => env('DD_LOG_REGION', 'us5'),
          'attributes' => [
              'hostname' => gethostname(),
              'source' => env('DD_LOG_SOURCE', 'laravel'),
              'service' => env('DD_LOG_SERVICE'),
              'tags' => env('DD_LOG_TAG'),
          ],
      ],
      'formatter' => JsonFormatter::class,
    ],
  ]
];

测试

使用以下命令运行测试

vendor/bin/phpunit

贡献

请参阅 CONTRIBUTING 以获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件 kos.huang@onramplab.com 联系我们,而不是使用问题跟踪器。

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。# laravel-log-enhancement