ehough / epilog
此包已被废弃,不再维护。没有建议的替代包。
与 seldaek/monolog 兼容,支持 PHP 5.2+
1.10.0
2014-06-18 23:56 UTC
Requires
- php: >=5.2.0
Requires (Dev)
- aws/aws-sdk-php: ~2.4, >2.4.8
- doctrine/couchdb: ~1.0@dev
- ehough/pulsar: ~2.3
- graylog2/gelf-php: ~1.0
- phpunit/phpunit: ~3.7.0
- raven/raven: ~0.5
- ruflin/elastica: 0.90.*
Suggests
- ext-amqp: Allow sending log messages to an AMQP server (1.0+ required)
- ext-mongo: Allow sending log messages to a MongoDB server
- aws/aws-sdk-php: Allow sending log messages to AWS services like DynamoDB
- doctrine/couchdb: Allow sending log messages to a CouchDB server
- graylog2/gelf-php: Allow sending log messages to a GrayLog2 server
- raven/raven: Allow sending log messages to a Sentry server
- rollbar/rollbar: Allow sending log messages to Rollbar
- ruflin/elastica: Allow sending log messages to an Elastic Search server
This package is not auto-updated.
Last update: 2020-04-03 16:14:06 UTC
README
此库不再维护。 与 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 时的一些“陷阱”
- Gelf 处理器 仅适用于 PHP 5.3+
- DoctrineCouchDBHandler 仅适用于 PHP 5.3+
- RedisHandler 仅适用于 PHP 5.3+
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
的代码。