Erreurs, journalisation et performance · Question 1 sur 12
Comment votre propre classe de service obtient-elle un logger dans TYPO3 v14 ?
2 réponses sont correctes. Facile
Afficher la solution
Solution
- C Par injection via le constructeur d'un paramètre de type Psr\
Log\ LoggerInterface - D Par l'interface LoggerAwareInterface combinée au LoggerAwareTrait
Explication
TYPO3 s'appuie sur le standard de journalisation PSR-3. Le plus simple est de se faire transmettre un Psr\ par injection via le constructeur ; TYPO3 crée alors un logger qui utilise le nom de la classe comme canal. Sinon, la classe implémente LoggerAwareInterface et utilise le LoggerAwareTrait ; le logger est alors défini automatiquement et disponible dans $this->logger. Ensuite, quelque chose comme $this->logger->warning('Import failed', ['file' => $file]); suffit. L'endroit où les messages sont écrits est déterminé par la configuration de journalisation via des writers – c'est pourquoi on ne crée pas soi-même de writers dans le code.