Differenze tra le versioni di "Programmazione:Java/Logging"
Da WikiSitech.
Vai alla navigazioneVai alla ricerca(2 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
+ | [[Programmazione:Java|<< Back to Java]] | ||
+ | |||
=Log what is happened= | =Log what is happened= | ||
Per avere un log 'utilizzabile' è necessario che l'eccezione venga loggata al massimo due volte: | Per avere un log 'utilizzabile' è necessario che l'eccezione venga loggata al massimo due volte: | ||
Riga 7: | Riga 9: | ||
tutti gli altri punti in cui passa l'eccezione devono propagarla senza intercettarla e riloggarla nuovamente | tutti gli altri punti in cui passa l'eccezione devono propagarla senza intercettarla e riloggarla nuovamente | ||
− | {| width="100%" | + | {| width="100%" cellspacing="10" |
|-valign="top" | |-valign="top" | ||
| width="50%" | | | width="50%" | | ||
Riga 88: | Riga 90: | ||
|- | |- | ||
| valign="top" colspan="2" | | | valign="top" colspan="2" | | ||
− | ==Not Bad Practice but... | + | ==Not Bad Practice but...== |
<code java> | <code java> | ||
public class A { | public class A { | ||
Riga 107: | Riga 109: | ||
A.f(); | A.f(); | ||
} catch(TExcept t) { | } catch(TExcept t) { | ||
+ | // viene loggato tutto lo stackTrace per la seconda volta | ||
log.error("error", t); | log.error("error", t); | ||
} | } | ||
Riga 114: | Riga 117: | ||
|- | |- | ||
| valign="top" colspan="2" | | | valign="top" colspan="2" | | ||
+ | |||
==Best Practice== | ==Best Practice== | ||
Nell'esempio della Best Practice è stato aggiunta la classe C per mostrare che bisogna fare con la propagazione dell'eccezione | Nell'esempio della Best Practice è stato aggiunta la classe C per mostrare che bisogna fare con la propagazione dell'eccezione |
Versione attuale delle 10:31, 14 apr 2008
Indice
Log what is happened
Per avere un log 'utilizzabile' è necessario che l'eccezione venga loggata al massimo due volte:
- Chi intercetta l'eccezione originale deve loggare senza lo stacktrace e trasformarla in un eccezione applicativa
- Chi intercetta l'eccezione applicativa deve loggare l'eccezione completa di stacktrace
tutti gli altri punti in cui passa l'eccezione devono propagarla senza intercettarla e riloggarla nuovamente
Bad Practice.....case 1
|
Bad Practice.....case 2
| ||
Bad Practice.....case 3
| |||
Not Bad Practice but...
| |||
Best PracticeNell'esempio della Best Practice è stato aggiunta la classe C per mostrare che bisogna fare con la propagazione dell'eccezione
|