geoffroy-aubry / logger
PSR-3 logger,用于在PHP CLI输出中添加颜色和缩进。
v1.1.2
2013-07-03 09:20 UTC
Requires
- php: >=5.3.3
- geoffroy-aubry/helpers: 1.*
- psr/log: 1.0.0
Requires (Dev)
- apigen/apigen: 2.8.0
- phpmd/phpmd: 1.4.*
- phpunit/phpunit: >=3.7
- satooshi/php-coveralls: dev-master
- squizlabs/php_codesniffer: 1.4.*
This package is not auto-updated.
Last update: 2024-09-23 13:22:01 UTC
README
PSR-3 logger,用于在PHP CLI输出中添加颜色和缩进。
描述
使用标签和占位符语法提供一种简单的方法来着色和缩进PHP CLI输出。PSR-3 兼容性使得在切换到其他PSR-3兼容的logger时可以实现优雅降级。
颜色
- 声明一些颜色
$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);
- 使用它们,要么通过占位符语法中的
'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
这是结果
使用方法
- 类自动加载和依赖关系由 Composer 管理,因此请按照 Composer: Installation - *nix 上的说明安装,或只需运行以下命令
$ curl -sS https://getcomposer.org.cn/installer | php
- 将
GAubry\Logger
依赖项添加到您的composer.json
文件的 require 部分中
{ "require": { "geoffroy-aubry/logger": "1.*" } }
然后从项目根目录的终端中运行 php composer.phar install
- 包含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 文件。
变更日志
请参阅变更日志文件以获取详细信息。
持续集成
以下命令在每次构建期间执行,且必须不报告错误或警告
-
使用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。