codememory/logging

日志记录

v2.1 2021-09-10 22:31 UTC

This package is auto-updated.

Last update: 2024-09-11 05:07:19 UTC


README

安装

composer require codememory/logging

使用配置时,必须执行以下命令

  • 如果不存在,则创建全局配置
    • php vendor/bin/gc-cdm g-config:init
  • 合并所有配置
    • php vendor/bin/gc-cdm g-config:merge --all

configs 文件夹中创建 logging.yaml 配置文件。这些名称可以通过全局配置 .config/.codememory.json 来指导。

配置概述

# configs/logging.yaml

logging:
  # Log handlers
  handlers:
    # Handler name to specify in the logger
    defaultStream:
      # Namespace handler
      handler: Codememory\Components\Logging\Handlers\StreamHandler

      # Handler level that will be triggered for loggers with this level
      forLevel: DEBUG

  # Loggers
  loggers:
    # Logger Name
    phpError:
      handlerName: defaultStream # Name of the handler where the logger will be saved
      forRun: true               # Create a logger to run
      message: null              # Mandatory if "forRun" is true
      level: debug               # Mandatory if "forRun" is true
      context: {}                # Data, Mandatory if "forRun" is true
      extra: {}                  # Extra Data, Mandatory if "forRun" is true
      handlerParameters:
        path: "storage/php.log"  # Path if handler "stream"
        key: "redisKey"          # Redis key if handler "redis"

如果指定了 forRun 键,则只需执行 logger,无需调用 level 和其他数据。请参见以下示例

执行 logger 的示例

<?php
use Codememory\Components\Logging\Logging;

require_once 'vendor/autoload.php';

$logging = new Logging();

// Выполнение логгера из конфигурации
$logging->executeLogger('phpError');

创建处理器和日志记录器的示例

use Codememory\Components\Logging\Handlers\StreamHandler;
use Codememory\Components\Logging\Logger;

// Добавление обработчика
$logging->addHandler('new-handler', StreamHandler::class, Logger::ERROR);

// Добавление логгера
$logging->addLogger('my-logger', 'new-handler', [
    'path' => 'my-log.log'
])
->error('Сообщение логгера', ['context-data'])
->addExtra(['extra-data']);

其他日志记录方法

  • existLogger(): bool 检查 Logger 是否存在

    • string $name
  • getLogger(): Logger 返回 Logger

    • string $name
  • existHandler(): bool 检查处理器是否存在

    • string $name
  • getHandler(): HandlerInterface 返回处理器

    • string $name