Errores, logging y rendimiento · Pregunta 1 de 12
¿Cómo obtiene un logger una clase de servicio propia en TYPO3 v14?
2 respuestas son correctas. Fácil
Mostrar solución
Solución
- C Mediante inyección por constructor de un parámetro de tipo Psr\
Log\ LoggerInterface - D Mediante LoggerAwareInterface junto con LoggerAwareTrait
Explicación
TYPO3 se basa en el estándar de logging PSR-3. La forma más sencilla es recibir un Psr\ mediante inyección por constructor; TYPO3 crea entonces un logger que usa el nombre de la clase como canal. Como alternativa, la clase implementa LoggerAwareInterface y utiliza LoggerAwareTrait; el logger se establece entonces automáticamente y está disponible en $this->logger. Después basta con algo como $this->logger->warning('Import failed', ['file' => $file]);. Dónde se escriben los mensajes lo decide la configuración de logging mediante writers; por eso los writers no se crean en el código.