In un ambiente di produzione, la registrazione è impostata su "INFO" per impostazione predefinita (utilizzando log4net) ea questo livello registro informazioni sufficienti per avere una buona possibilità di diagnosticare eventuali errori. Quindi quali sono le informazioni "sufficienti"? Bene, tutto dipende dal tuo sistema. Nel nostro sistema registro i punti di ingresso e di uscita dai metodi più importanti, inclusi i loro parametri di input e valori di ritorno (a meno che non si tratti di molti dati). Sono disposto ad accettare un overhead del 5-10% per la registrazione (ma dovresti misurarlo).
mio formato di perferred è come questo: ingresso
Metodo:
-> MyMethod (1, "arg1")
Metodo di uscita:
< -MyMethod (1, " arg1 ") = true
Le frecce indicano che posso facilmente vedere se questa è entrata o uscita. Includendo gli argomenti e il valore restituito ottengo i dati più critici per la diagnosi degli errori. Ho sempre e solo un punto di ritorno dai miei metodi, quindi non devo preoccuparmi di più punti di uscita per la mia registrazione.
Con il metodo di registrazione entrata/uscita, trovo che non devo registrare molto altro, se il codice viene scomposto correttamente in metodi, questo documenterà il flusso di esecuzione attraverso l'applicazione.
Non commettete l'errore di non registrare abbastanza informazioni perché siete preoccupati per l'impatto sulle prestazioni - misurate questo in modo da essere soddisfatti del sovraccarico, ma siete sicuri che state registrando abbastanza per diagnosticare gli errori puramente basati sulle informazioni questo è nel registro. Quello che non si vuole fare è passare l'accesso a ulteriori dettagli dopo il il cliente ha segnalato un errore, quindi sperare che l'errore si ripresenti.
Uso anche un livello di registrazione DEBUG che registra praticamente tutto. Questo è usato solo in dev/test, o forse in produzione ma solo dopo aver consultato il cliente.
Un recente blog di un mio collega che discute proprio di questo: https://engblog.nextdoor.com/2015/08/05/dynamic-logging/ – Mikhail