ehough/epilog

此包已被废弃,不再维护。没有建议的替代包。

与 seldaek/monolog 兼容,支持 PHP 5.2+

1.10.0 2014-06-18 23:56 UTC

This package is not auto-updated.

Last update: 2020-04-03 16:14:06 UTC


README

Build Status Project Status: Unsupported - The project has reached a stable, usable state but the author(s) have ceased all work on it. A new maintainer may be desired. Latest Stable Version License

此库不再维护。monolog 兼容,支持 PHP 5.2+。

动机

monolog 是一个出色的日志库,但它仅与 PHP 5.3+ 兼容。尽管 97% 的 PHP 服务器运行 PHP 5.2 或更高版本,但 32% 的所有服务器仍在运行 PHP 5.2 或更低版本 (来源)。仅仅因为几个版本不兼容,就排除掉近三分之一的全球服务器,实在令人惋惜。

一旦 PHP 5.3+ 的采用率接近 100%,此库将被废弃。

如何使用

<?php

// create a log channel
$log = new ehough_epilog_Logger('name');
$log->pushHandler(new ehough_epilog_handler_StreamHandler('path/to/your.log', ehough_epilog_Logger::WARNING));

// add records to the log
$log->addWarning('Foo');
$log->addError('Bar');

monolog 的区别

主要区别在于 monolog 类的命名约定。不是使用 \Monolog 命名空间(以及子命名空间),而是使用前缀 ehough_epilog 并遵循 PEAR 命名约定

一些类命名转换的示例

\Monolog\Logger                     ----->    ehough_epilog_Logger
\Monolog\Handler\StreamHandler      ----->    ehough_epilog_handler_StreamHandler
\Monolog\Processor\MemoryProcessor  ----->    ehough_epilog_processor_MemoryProcessor

使用 epilog 而不是 monolog 时的一些“陷阱”

LoggerFactory

epilog 还添加了一个方便的类来构建 ehough_epilog_Logger 实例:ehough_epilog_LoggerFactory。您可以使用此工厂执行单行实例化

<?php

$logger = ehough_epilog_LoggerFactory::getLogger('name');

以这种方式构建的任何日志记录器都将共享相同的处理器堆栈,从而减少不必要的内存开销。

版本和版本管理

版本与上游 monolog 仓库同步。例如,ehough/epilog 1.6.0 已合并了 Seldaek/monolog 1.6.0 的代码。