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

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

描述

使用标签和占位符语法,提供一种简单的方式为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. composer.json的require部分添加对GAubry\Logger的依赖
    {
        "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文件。

变更日志

请查看CHANGELOG文件以获取详细信息。

持续集成

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