Panoramica registrazione personalizzata
I registri forniscono visibilità sui processi di sistema; ad esempio, informazioni di debug che consentono di comprendere quando si è verificato un errore o cosa ha causato l’errore.
Questo argomento si concentra sulla registrazione basata su file, anche se Commerce offre la flessibilità di memorizzare i registri anche nel database.
L'Adobe consiglia di utilizzare la registrazione centralizzata delle applicazioni per i motivi seguenti:
-
Consente lo storage dei registri su un server diverso da quello dell'applicazione e riduce le operazioni di I/O del disco, semplificando il supporto del server dell'applicazione.
-
Rende più efficace l'elaborazione dei dati dei registri utilizzando strumenti speciali, ad esempio Logstash, Logplex o [fluentd], senza alcun impatto su un server di produzione.
note info INFO L’Adobe non consiglia né approva alcuna particolare soluzione di registrazione.
Conformità PSR-3
Lo standard PSR-3 definisce un'interfaccia PHP comune per le librerie di registrazione. L'obiettivo principale di PSR-3 è consentire alle librerie di ricevere un oggetto Psr\Log\LoggerInterface
e di scrivervi i registri in modo semplice e universale.
Questo consente di sostituire facilmente l’implementazione senza preoccuparsi che possa interrompere il codice dell’applicazione. Inoltre, garantisce che un componente personalizzato funzioni anche quando l’implementazione del registro viene modificata in una versione futura del sistema.
Monologo
Commerce 2 è conforme allo standard PSR-3. Per impostazione predefinita, Commerce utilizza [Monolog]. Monolog implementato come preferenza per Psr\Log\LoggerInterface
nell'applicazione Commerce di.xml
.
Monologo è una popolare soluzione di registrazione PHP con una vasta gamma di gestori che consentono di creare strategie di registrazione avanzate. Di seguito è riportato un riepilogo del funzionamento di Monolog.
Un logger Monolog è un canale con un proprio set di gestori. Monolog ha molti gestori, tra cui:
- Accedere a file e syslog
- Inviare avvisi e messaggi di posta elettronica
- Registrazione di server specifici e registrazione in rete
- Accesso allo sviluppo (integrazione con FireBug e Chrome Logger, tra gli altri)
- Accedi al database
Ogni gestore può elaborare il messaggio di input e interrompere la propagazione oppure passare il controllo al gestore successivo in una catena.
I messaggi del registro possono essere elaborati in molti modi diversi. Ad esempio, è possibile archiviare tutte le informazioni di debug in un file su disco, inserire i messaggi con livelli di registro superiori in un database e infine inviare messaggi con livello di registro "critico" tramite posta elettronica.
Altri canali possono avere un set diverso di gestori e logica.