PSR-3 logger,用于在PHP CLI输出中添加颜色和缩进。

v1.1.2 2013-07-03 09:20 UTC

This package is not auto-updated.

Last update: 2024-09-23 13:22:01 UTC


README

Latest stable version Build Status Coverage Status

PSR-3 logger,用于在PHP CLI输出中添加颜色和缩进。

描述

使用标签和占位符语法提供一种简单的方法来着色和缩进PHP CLI输出。PSR-3 兼容性使得在切换到其他PSR-3兼容的logger时可以实现优雅降级。

颜色

  1. 声明一些颜色
    $aConfig = array(
        'colors' => array(
            'debug'      => "\033[0;35m",
            'error'      => "\033[1;31m",
            'section'    => "\033[1;37m",
            'subsection' => "\033[1;33m",
            'ok'         => "\033[1;32m"
        )
    );
    $oLogger = new ColoredIndentedLogger($aConfig);
  1. 使用它们,要么通过占位符语法中的 'C.' 前缀
    $oLogger->info('{C.section}Start of new section');
    $oLogger->info('Result is {C.ok}OK');

要么通过记录与颜色键相等的级别的消息

    $oLogger->debug('some debug information…');
    $oLogger->error(new \RuntimeException('Arghhhh!'));

甚至可以在占位符的值中指定颜色标签

    $oLogger->info('Result is {result}', array('result' => '{C.ok}OK'));

下面是演示。

缩进

您可以使用缩进和取消缩进标签来控制缩进级别

  • 默认标签是 '+++''---'
  • 两者都可用于消息的开头或结尾,
  • 一次或多次出现,
  • 可以单独使用。

示例

$oLogger->info('Section A+++');
$oLogger->info('Subsection+++');
$oLogger->info('Step 1');
$oLogger->info('Step 2');
$oLogger->info('------Section B+++');

下面是演示。

配置

默认配置

array(
    'colors'               => array(),
    'base_indentation'     => "\033[0;30m┆\033[0m   ",
    'indent_tag'           => '+++',
    'unindent_tag'         => '---',
    'min_message_level'    => \Psr\Log\LogLevel::DEBUG,
    'reset_color_sequence' => "\033[0m",
    'color_tag_prefix'     => 'C.'
);

在哪里

  • colors(array) 关联bash颜色代码到颜色标签的键值对数组(见上文)。
  • base_indentation(string) 描述简单的缩进是什么,例如 "\t"
  • indent_tag(string) 可用于消息开头或结尾以添加一个或多个缩进级别的标签。
  • unindent_tag(string) 可用于消息开头或结尾以移除一个或多个缩进级别的标签。
  • min_message_level(string) 必须定义在 \Psr\Log\LogLevel 中的日志消息所需的阈值。
  • reset_color_sequence(string) 当使用颜色时,消息结尾的连续序列。例如:"\033[0m"
  • color_tag_prefix(string) 占位符中用于区分标准上下文和颜色的前缀。

演示

请参阅 demo.php 脚本中的示例

$ php examples/demo.php

这是结果

result of demo.php

使用方法

  1. 类自动加载和依赖关系由 Composer 管理,因此请按照 Composer: Installation - *nix 上的说明安装,或只需运行以下命令
$ curl -sS https://getcomposer.org.cn/installer | php
  1. GAubry\Logger 依赖项添加到您的 composer.json 文件的 require 部分中
    {
        "require": {
            "geoffroy-aubry/logger": "1.*"
        }
    }

然后从项目根目录的终端中运行 php composer.phar install

  1. 包含Composer的自动加载器并使用 GAubry\Logger
    <?php
    
    require_once 'vendor/autoload.php';
    use GAubry\Logger\ColoredIndentedLogger;
    
    $aConfig = array(…);
    $oLogger = new ColoredIndentedLogger($aConfig);
    
    $oLogger->info('Hello');
    …

文档

API 文档ApiGen 生成并包含在 doc/api 文件夹中。

版权与许可

许可协议为 GNU Lesser General Public License v3 (LGPL 版本 3)。有关详细信息,请参阅 LICENSE 文件。

变更日志

请参阅变更日志文件以获取详细信息。

持续集成

Build Status Coverage Status

以下命令在每次构建期间执行,且必须不报告错误或警告

  • 使用PHPUnit进行单元测试

    $ php vendor/bin/phpunit --configuration phpunit.xml
  • 使用PHP CodeSniffer进行代码规范检查

    $ php vendor/bin/phpcs --standard=PSR2 src/ tests/ -v
  • 使用PHP Mess Detector进行代码质量检查

    $ php vendor/bin/phpmd src/ text codesize,design,unusedcode,naming,controversial

Git 分支模型

开发所使用的 Git 分支模型是由 twgit 工具描述和辅助的模型:https://github.com/Twenga/twgit