I file di registro sono molto utili durante il processo di sviluppo del sistema per trovare problemi, conflitti e identificare malfunzionamenti.
Magento offre 3 (tre) controlli di registro:
1. Registro di monitoraggio della navigazione. Visualizza post: Cancella tabella dei registri.
2. Registro errori di sistema. Visualizza post: numero di record del log degli errori.
3. Registrare eventi ed eccezioni. Quello che vedremo in questo post.
Perché dovrei
Mentre si imposta il negozio, si sviluppano moduli, si personalizzano le pagine, si installano le estensioni, è molto importante monitorare gli eventi e le eccezioni che si verificano sul sistema.
È molto comune per le persone iniziare a personalizzare l’intero negozio, e “inaspettatamente” qualcosa per funzionare come dovrebbe, sia che si tratti di una rubrica, di un mezzo di pagamento o di una valutazione del prodotto.
Potresti avere problemi/conflitti nel codice che non generano un crash del sistema, quindi non hai il famoso Numero record registro errori. Ciò non significa che non ci siano errori.
Come usare
Non appena si installa Magento, il controllo del registro di eventi ed eccezioni è disattivato. Perché non è qualcosa di essenziale per il funzionamento del sistema.
Ma fondamentale per chi si sta sviluppando. Quindi vai a:
Sistema > Configurazione > Avanzate > Sviluppatore [Impostazioni registro]
E modifica l’opzione Abilitata in “Sì” e fai clic su Salva.
Vedi anche che puoi personalizzare il nome dei file. E sotto il nome indica la directory in cui verranno gestiti questi file.
Come leggere
Ora che il tuo sistema sta generando file di log, puoi tracciare i file per identificare possibili problemi, basta andare nella directory indicata:
la tua installazione > var > log
Entrambi i file saranno elencati system.log e exception.log.
Dove puoi usare system.log per generare un debug del codice, con messaggi di tipo “metodo chiamato e valore restituito X“. Oppure genera un avviso di tipo “valore non valido per il calcolo sulla firma del metodo“.
E il file exception.log è dove gli errori vengono monitorati. Sono errori simili a quelli generati da numero di record del registro degli errori, la differenza è che non impediscono nemmeno al sistema di continuare a funzionare. Esempio:
2013-07-24T07:23:14+00:00 ERR (3): exception 'Exception' with message 'Strict Notice: Non-static method Mage_Core_Model_Locale::date() should not be called statically, assuming $this from incompatible context in /Users/mariosam/app/design/frontend/base/default/template/catalog/product/widget/new/content/new_list.phtml on line 74' in /Users/mariosam/app/code/core/Mage/Core/functions.php:245 Stack trace: #0 /Users/mariosam/app/design/frontend/base/default/template/catalog/product/widget/new/content/new_list.phtml(74): mageCoreErrorHandler(2048, 'Non-static meth...', '/Users/mariosam...', 74, Array) #1 /Users/mariosam/app/code/core/Mage/Core/Block/Template.php(216): include('/Users/mariosam...')
Continua fino al numero #20, #30, #40 {main}. Ma ciò che conta davvero sono le prime righe.
E se non sai come interpretare il messaggio, copia le informazioni e accedi al forum di Bragento per aiuto.
Utilizzo del registro
Se sei uno sviluppatore, puoi utilizzare i file di registro per eseguire il debug del tuo codice. Basta usare il codice qui sotto:
Exception log:
... } catch(Exception $e) { Mage::logException($e); }
La firma del metodo è questa:
public static function logException(Exception $e)
Event Log:
Mage::log('il tuo messaggio qui...');
La firma del metodo è questa:
public static function log($message, $level = null, $file = '', $forceLog = false)
Nota che è possibile dire al messaggio, un grado importante (livello), il nome di un (file) per salvare il registro, e se dovresti forzare la registrazione dello stesso file con il sistema di log disattivato.
Vuoi altri suggerimenti su come utilizzare il file di registro per il debug? Vedi la wiki sul sito ufficiale: Magento Debugging Tips.
Successo!