Skip to content
This repository was archived by the owner on Jul 29, 2024. It is now read-only.

Repository files navigation

Repository is archived

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.

Latest Stable VersionLatest Unstable VersionLicenseBuild StatusTest Coverage

Configuration

useMougrim\Logger\Appender\AppenderStream;
useMougrim\Logger\Layout\LayoutPattern;
useMougrim\Logger\Layout\LayoutSimple;
useMougrim\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.

About

logger – fast and simple php logging library

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages