I use Monolog as a stand-alone library in my application and recently I ran into an issue. Let's say, at some point in my application I catch an exception and I want to log it:
$mylogger->error('Exception caught', array('exception' => $exception));
This works perfectly except one tiny thing - it doesn't log whole stack trace. Is it possible to log exception's full stack trace using monolog build-in formatters?
Actually since version 1.12.0
it is possible to include stacktrace at your log file: there is new method of LineFormatter
called includeStacktraces
.
To use this, you need to overwrite default behaviour of monolog formatter:
config.yml
monolog:
handlers:
main:
formatter: your.monolog.service.id
(rest of config is as usual)
services.yml
services:
your.monolog.service.id:
class: Monolog\Formatter\LineFormatter
calls:
- [includeStacktraces]
Check github for more info: Pull request