mougrim / php-logger
该软件包已被废弃,不再维护。未建议替代软件包。
简单快速的PHP日志库
v2.0.0
2015-09-03 19:27 UTC
Requires
- php: >=5.5.0
Requires (Dev)
- ext-pcntl: *
- ext-runkit: *
- phpunit/phpunit: 3.7.*
This package is auto-updated.
Last update: 2024-08-29 17:30:25 UTC
README
如果您想维护它,您可以创建一个分支。
php-logger
这是Apache log4php日志库的分支。
主要主题 - 轻量级且快速的库,配置简单。
如果您想使用没有命名空间的类,请参阅 mougrim/php-logger-old-interface。
配置
use Mougrim\Logger\Appender\AppenderStream; use Mougrim\Logger\Layout\LayoutPattern; use Mougrim\Logger\Layout\LayoutSimple; use Mougrim\Logger\Logger; Logger::configure([ 'policy' => [ 'ioError' => 'trigger_error', // ignore, trigger_warn, trigger_error, exception or exit 'configurationError' => 'exception' ], 'layouts' => [ 'simple' => [ 'class' => LayoutSimple::class, ], 'pattern' => [ 'class' => LayoutPattern::class, 'pattern' => '{date:Y/m/d} [{level}] {logger} {location:file:line, class.function} {mdc:key} {mdc} {ndc}: {message} {ex}', ], ], 'appenders' => [ 'stream' => [ 'class' => AppenderStream::class, 'stream' => 'php://stdout', // pass useLock and useLockShortMessage true for enable lock 'useLock' => false, 'useLockShortMessage' => false, 'minLevel' => Logger::DEBUG, 'maxLevel' => Logger::FATAL, 'layout' => 'simple', ], ], 'loggers' => [ 'logger' => [ 'appenders' => ['stream'], 'addictive' => false, 'minLevel' => Logger::TRACE, 'maxLevel' => Logger::FATAL, ], ], 'root' => [ 'appenders' => ['stream'], ] ]);
日志记录
Logger::getLogger('logger')->trace("hello world"); Logger::getLogger('logger')->debug("hello world"); Logger::getLogger('logger')->info("hello world"); Logger::getLogger('logger')->warn("hello world"); Logger::getLogger('logger')->fatal("hello world"); Logger::getLogger('logger')->log(Logger::DEBUG, "hello world");
映射诊断上下文,mdc
LoggerMDC::put("request", $i++); Logger::getLogger('accesslog')->info("new request"); Logger::getLogger('db')->info("execute sql"); # in some web log : cat log | grep 12412 accesslog [request=12412] new request db [request=12412] execute sql
计时器
$logger = Logger::getLogger('db'); $timer = $logger->timer(); $pdo->exec('select * from foo'); $timer->info("sql executed at {time}"); // rendered at
感谢
感谢 mitallast 为本项目的主体开发做出的贡献。