pagon/logger

Pagon简单日志记录器

0.2.0 2013-08-27 05:30 UTC

This package is not auto-updated.

Last update: 2024-09-14 13:57:21 UTC


README

这是一个非常简单的日志库,支持debug、info、warn、error、critical等日志等级,也支持以stream方式添加handler。

依赖

  • PHP 5.3.9+
  • Composer

库依赖:

pagon/fiber

使用

基本

$logger = new \Pagon\Logger();
$logger->debug('User->%s is logged with params: %s', $username, $params);
// 2013-05-02 13:11:00 - s3f9da -   debug  - User->hfcorriez is logged with params: return=/status
$logger->info('User->:username login to homepage', array(':username' => $username))
// 2013-05-02 13:11:00 - s3f9da -   info   - User->hfcorriez login to homepage

配置

$logger = new \Pagon\Logger(array(
    'level' => 'info',
    'file'  => '/tmp/app.log'
));

格式

使用pagon/fiber实现

$logger = new \Pagon\Logger(array(
	'format' => '$time - $level - $text'
));

自定义格式参数

$logger = new \Pagon\Logger(array(
	'format' => '$time - $level - $file - $text'
));
$logger->file = __FILE__;
$logger->info('Some info');	// 2013-05-02 13:11:00 - info - /home/hfcorriez/myfile.php - Some info

Handler

目前只提供一个Console Handler用于在控制台输出Log信息

$logger = new \Pagon\Logger();
$logger->add('debug', new \Pagon\Logger\Console());

自定义Handler

class YourCustomHanlder extends \Pagon\LoggerInterface
{
    public function write()
    {
        if (empty($this->messages)) return;

        $message = join("\n", $this->buildAll()) . "\n";
        
        mail('your@exapmle.com', 'Some error logs', $message);
    }
}

$logger = new \Pagon\Logger();
$logger->add('error', new YourCustomHanlder());

事件

$logger = new \Pagon\Logger();
$logger->on('flush', function() {
    // Some thing before the flush
});

许可协议

(The MIT License)

版权所有(c) 2012 hfcorriez <hfcorriez@gmail.com>

在此特此授予任何获得本软件及其相关文档副本(以下简称“软件”)的人免费使用权,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供者提供软件的人这样做,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论该责任是因合同、侵权或其他原因而引起的,无论该责任是否与软件或软件的使用或其他方式有关。