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\Log\LoggerInterface 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.

Certifications & examens

Quel examen pour la suite ?

Tu peux déjà t’entraîner pour 19 examens, 21 sont soumis au vote. Découvre toutes les certifications avec les infos officielles, vote ou propose ton examen.

Voir toutes les certifications