niels-nijens/enhances-console-logging

用于增强Symfony控制台和stdout日志的组件。

1.0.1 2020-08-05 06:40 UTC

This package is auto-updated.

Last update: 2024-09-05 15:44:00 UTC


README

Latest version on Packagist Software License Build Status Coverage Status Code Quality

用于增强Symfony控制台和stdout日志的组件。

使用Composer进行安装

运行以下命令将包添加到项目的composer.json文件中

composer require niels-nijens/enhances-console-logging

用法

ProgressBarConsoleLogger

ProgressBarConsoleLogger 允许您在不直接将 ProgressBar 注入到处理进度的领域组件中时,在控制台中进行日志记录并显示进度。相反,您可以将日志注入到这些组件中。这使得您不仅可以记录到控制台/stdout,还可以记录到其他日志机制(例如文件)。

通过注入/装饰现有的PSR-3日志记录器(例如 Monolog),可以实现将日志记录到进度条和其他日志机制。

ProgressBarConsoleLogger 遵循 PSR-3日志规范,并因此实现了 Psr\Log\LoggerInterface

<?php

declare(strict_types=1);

use Nijens\EnhancesConsoleLogging\ProgressBar\LogContext;
use Nijens\EnhancesConsoleLogging\ProgressBar\ProgressBarConsoleLogger;
use Psr\Log\LoggerInterface;
use Symfony\Component\Console\Helper\ProgressBar;
use Symfony\Component\Console\Output\OutputInterface;

/** @var $monolog LoggerInterface */
/** @var $output OutputInterface */
$progressBar = new ProgressBar($output);

$logger = new ProgressBarConsoleLogger($monolog);
$logger->registerProgressBar(
    'test', // A unique identifier to reference the progress bar through the log context.
    $progressBar
);

$logger->info(
    'This message will be set on the progress bar.',
    [
        LogContext::PROGRESS_IDENTIFIER_KEY => 'test', // The unique identifier.
        LogContext::PROGRESS_INCREMENT_KEY => 0, // Allows incrementing the max steps. (optional)
        LogContext::PROGRESS_ADVANCE_KEY => 0, // Allows advancing the steps. (optional)
    ]
);

测试和代码规范

可以通过运行以下命令执行单元测试

composer test

可以通过运行以下命令之一来修复或验证代码风格

composer cs-fixer || composer cs-validate

安全性

如果您发现任何安全相关的问题,请通过电子邮件 nijens.niels+security [at] gmail.com 通知,而不是使用问题跟踪器。

致谢

许可

本软件包采用MIT许可。有关更多信息,请参阅LICENSE文件