6

I'm missing something really obvious.

How can I make monolog record all php errors, php user errors, and exceptions?

Before using monolog, I wrote my own functions which I passed to set_error_handler(), register_shutdown_function() and set_exception_handler(). Is there a way of doing this using Monolog's API, or do I have to the following?

  1. Write an error handler and exception handler which I pass to PHP's functions above
  2. In those handlers, call the appropriate Monolog functions such as Logger::addError(...) using a switch statement or similar

Surely there must be a Monolog API that does the above in a single call?

Jodes
  • 14,118
  • 26
  • 97
  • 156

2 Answers2

2

From the ErrorHandler class docs:

use Monolog\ErrorHandler;
$logger = new Logger('Logger Name');

ErrorHandler::register($logger);
Aidan Ewen
  • 13,049
  • 8
  • 63
  • 88
1

Old question but since it was not yet answered - ErrorHandler will do exactly what you're after.

From The documentation:

ErrorHandler: The Monolog\ErrorHandler class allows you to easily register a Logger instance as an exception handler, error handler or fatal error handler.

AVIDeveloper
  • 2,954
  • 1
  • 25
  • 32