Monolog et doctrine method info undefined
Hello
J'ai suivis ce tuto : https://nehalist.io/logging-events-t...se-in-symfony/
Mais je n'y arrive pas j'ai l'erreur :
Attempted to call an undefined method named "info" of class "AcMarche\LoggerBundle\Service\MonologDBHandler
Je comprends pas pq j'ai bien tout suivi...
Mon service.yml
Code:
1 2 3 4 5
|
services:
monolog.db_handler:
class: AcMarche\LoggerBundle\Service\MonologDBHandler
arguments: ['@doctrine.orm.entity_manager'] |
mon config_dev.yml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
monolog:
channels: ['db']
handlers:
main:
type: stream
path: '%kernel.logs_dir%/%kernel.environment%.log'
level: debug
channels: ['!event']
console:
type: console
process_psr_3_messages: false
channels: ['!event', '!doctrine', '!console']
db:
channels: ['db']
type: service
id: monolog.db_handler |
Mon handler:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
use AcMarche\LoggerBundle\Entity\Log;
use Doctrine\ORM\EntityManagerInterface;
use Monolog\Handler\AbstractProcessingHandler;
class MonologDBHandler extends AbstractProcessingHandler
{
/**
* @var EntityManagerInterface
*/
protected $em;
/**
* MonologDBHandler constructor.
* @param EntityManagerInterface $em
*/
public function __construct(EntityManagerInterface $em)
{
parent::__construct();
$this->em = $em;
}
/**
* Called when writing to our database
* @param array $record
*/
protected function write(array $record)
{
$logEntry = new Log();
$logEntry->setMessage($record['message']);
$logEntry->setLevel($record['level']);
$logEntry->setLevelName($record['level_name']);
$logEntry->setExtra($record['extra']);
$logEntry->setContext($record['context']);
$this->em->persist($logEntry);
$this->em->flush();
}
} |
Mon controlleur
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
/**
* @Route("/")
*/
public function indexAction()
{
$log = $this->get('monolog.db_handler');
$log->info(
'something happened',
[
'foo' => 'bar',
]
);
return $this->render('AcMarcheLoggerBundle:Default:index.html.twig');
} |
Bref du gros copier coller j'ai du zapper un truc quelque part...
Merci