iulianmironica / klogger
一个简单的日志类,KLogger的改进版本,具有格式化功能,略微优化,无依赖。
Requires
- php: >=5.3
Requires (Dev)
- phpunit/phpunit: 4.0.*
This package is not auto-updated.
Last update: 2024-09-28 17:07:24 UTC
README
最初由Kenny Katzgrau、Dan Horrigan编写,并由[Iulian Mironica] (http://twitter.com/iulianmironica)更新
关于
这个类是KLogger的改进版本,我在我的项目中使用并维护。 (KLogger是一个易于使用的PSR-3兼容的PHP日志类)。它旨在是一个可以快速包含到项目中并立即工作的类。
改进
- 稳定性
- 添加格式化功能
- 所有内容都在一个类中
- 性能提升
安装
Composer
从命令行
composer require iulianmironica/klogger:dev-master
在你的composer.json
{ "require": { "iulianmironica/klogger": "dev-master" } }
基本用法
<?php require 'vendor/autoload.php'; $users = [ [ 'name' => 'Kenny Katzgrau', 'username' => 'katzgrau', ], [ 'name' => 'Dan Horrigan', 'username' => 'dhrrgn', ], ]; // New feature $loggerSettings = [ 'level' => \IulianMironica\KLogger\Logger::DEBUG, // emergency, alert, critical, error, warning, notice, info, debug 'timestamp' => 'm-d-Y G:i:s', // leave blank for none 'format' => '%timestamp% %level% %class% %function% %message%', // output format - leave blank for none 'directory' => /path/to/log/dir, // path to the log directory /* %timestamp% - the timestamp declared above * %level% - level declared above * %class% - class name * %function% - method/function name * %message% - the message passed as param * %line%, %file% - point to the parent file that triggered method/function */ ]; $logger = new \IulianMironica\KLogger\Logger($loggerSettings); $logger->info('Returned a million search results'); $logger->error('Oh dear.'); $logger->debug('Got these users from the Database.', $users); // New feature - you can now debug your data without needing to pass a string as first param $logger->debug($users);
输出
02-19-2015 14:34:08 DEBUG Model\User getAll Got these users from the Database.
0: array(
'name' => 'Kenny Katzgrau',
'username' => 'katzgrau',
)
1: array(
'name' => 'Dan Horrigan',
'username' => 'dhrrgn',
)
02-19-2015 14:34:08 DEBUG Model\User getAll
0: array(
'name' => 'Kenny Katzgrau',
'username' => 'katzgrau',
)
1: array(
'name' => 'Dan Horrigan',
'username' => 'dhrrgn',
)
设置日志级别阈值
您可以使用\IulianMironica\KLogger\Logger
常量来设置日志级别阈值,这样任何低于该级别的消息将不会记录。
默认级别
默认级别是DEBUG
,这意味着所有内容都将记录。
可用级别
<?php use IulianMironica\KLogger\Logger; // These are in order of highest priority to lowest. \Logger::EMERGENCY; \Logger::ALERT; \Logger::CRITICAL; \Logger::WARNING; \Logger::NOTICE; \Logger::INFO; \Logger::DEBUG;
示例
<?php $loggerSettings = [ 'level' => \IulianMironica\KLogger\Logger::ERROR, // emergency, alert, critical, error, warning, notice, info, debug 'timestamp' => 'm-d-Y G:i:s', // leave blank for none 'format' => '%timestamp% %level% %class% %function% %message%', // output format - leave blank for none 'directory' => /path/to/log/dir, // path to the log directory /* %timestamp% - the timestamp declared above * %level% - level declared above * %class% - class name * %function% - method/function name * %message% - the message passed as param * %line%, %file% - point to the parent file that triggered method/function */ ]; $logger = new \IulianMironica\KLogger\Logger($loggerSettings); $logger->error('Uh Oh!'); // Will be logged $logger->info('Something Happened Here'); // Will be NOT logged
为什么使用KLogger?
为什么不呢?只需将其放入并开始使用。如果它节省了您的时间并完成了您所需的工作,那就去做吧!引用一下我们C语言之父的书中的一句话:“建立在他人工作的基础上
”。
谁使用KLogger?
Klogger已经被用于以下项目的开发中
* The University of Iowa
* The University of Laverne
* The New Jersey Institute of Technology
* Middlesex Hospital in NJ
此外,它还用于许多项目和商业项目。
特别感谢
特别感谢所有贡献者
许可证
MIT许可证
版权所有 (c) 2008-2014 Kenny Katzgrau katzgrau@gmail.com
在此特此授予任何人免费获得此软件及其相关文档文件(以下简称“软件”)副本的权利,以任何形式使用该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许提供软件的个人做同样的事,但需遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何形式的保证,明示或暗示,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论这些索赔、损害或其他责任是由于合同、侵权或其他原因引起的,以及与软件或其使用或其他交易有关。