Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Logging full stack trace with Monolog

Tags:

php

monolog

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?

like image 344
Wild One Avatar asked Dec 18 '13 11:12

Wild One


1 Answers

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

like image 156
Tomasz Madeyski Avatar answered Sep 18 '22 10:09

Tomasz Madeyski