pccomponentes / ddd-logging
This is a package to unify the logs systems in the developments of PcComponentes
Installs: 89 869
Dependents: 1
Suggesters: 0
Security: 0
Stars: 4
Watchers: 3
Forks: 4
Open Issues: 1
Requires
- php: ^7.4|^8.0
- ext-json: *
- guzzlehttp/guzzle: ^6.5|^7.0
- monolog/monolog: ^1.25|^2.0
- pccomponentes/ddd: ^2.1|^3.0|^4.0
- symfony/http-foundation: ^4.4|^5.0|^6.0
- symfony/http-kernel: ^4.4|^5.0|^6.0
- symfony/messenger: ^4.4|^5.0|^6.0
- symfony/stopwatch: ^4.4|^5.0|^6.0
Requires (Dev)
- dg/bypass-finals: ^1.1
- pccomponentes/coding-standard: ^1.0
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^9.0
README
Pequeño middleware para messenger, el bus de symfony, para loggear todo lo que ocurra durante la ejecución del resto de middlewares. Se sugiere que este middleware sea de los primeros en meterse en el bus.
Funcionamiento
La idea del middleware es muy simple. Para construirlo, requiere de cuatro dependencias:
- Instancia de logger PSR, por ejemplo, monolog.
- instancia del tracker. Véase el siguiente punto.
- Serializador de mensajes, para guardar una foto del mensaje procesado.
- Serializador de excepciones, para logear si llega a ocurrir, la foto de la excepción disparada.
Tracker
Esta clase sirve para meter en el registro de logs el ID de una posible operación "padre", para posteriormente poder sacar trazas de tipo "árbol" por un sistema que sea capaz de centralizar estos logs.