Jump to main content Jump to doc navigation

modX::setLogger

Routes MODX log messages to a PSR-3 LoggerInterface. Messages above the log_level threshold go to that logger instead of the legacy FILE, ECHO and HTML targets.

xPDO level PSR level
debug, info, warning, error the same level
fatal critical
anything else notice

The context carries def, file, line and xpdo_level. A modRegister target keeps writing alongside the logger, and a fatal message still ends in sendError('fatal').

Syntax

void setLogger (LoggerInterface $logger)
  • $logger (Psr\Log\LoggerInterface) logger instance that receives the messages

Example

use Monolog\Handler\StreamHandler;
use Monolog\Logger;

$logger = new Logger('modx');
$logger->pushHandler(new StreamHandler('php://stderr'));

$modx->setLogger($logger);
$modx->log(modX::LOG_LEVEL_ERROR, 'staff table is missing');

See Also

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • CrewMark
  • Fabian Christen
  • Sepia River Studios
  • Dannevang Digital
  • Alex
  • A. Moreno
  • Chris Fickling
  • Stéphane Jäggi
  • Murray Wood
  • Anton Tarasov
  • JT Skaggs
  • deJaya
  • Lefthandmedia
  • eydolan
  • Following Sea
  • Guido Gallenkamp
  • YJ
  • Raffy
  • Snow Creative
  • Nick Clark
  • Guest
  • Helen
  • krisznet
  • Yanni
  • Richard

Budget

$194 per month—let's make that $500!

Learn more