mougrim / php-logger
This package is abandoned and no longer maintained.
No replacement package was suggested.
Simple and fast php logging library
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
If you want to maintain it, you can make a fork.
php-logger
This is a fork of Apache log4php logging library.
Main theme - light and fast library, with simple configuring.
If you want use classes without namespaces, see mougrim/php-logger-old-interface.
See changelog and upgrade instructions.
Configuration
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'], ] ]);
Logging
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");
Mapped Diagnostic Context, 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
Timer
$logger = Logger::getLogger('db'); $timer = $logger->timer(); $pdo->exec('select * from foo'); $timer->info("sql executed at {time}"); // rendered at
Thanks
Thanks to mitallast for the development of the main part of this project.