Best practice per l'utilizzo di Application Wide Tracesource
-
28-10-2019 - |
Domanda
Quindi ho un'applicazione in cui utilizzerò la traccia per l'attività/errori dell'applicazione di registrazione, ecc. La maggior parte delle informazioni andrà in un file di registro, mentre alcuni errori andranno anche in eventi. Questa applicazione avrà molte classi.
Qual è il modo migliore di usare TracesOurce in questo caso? Dovrei creare una lezione di TestSource che avvolge singleton o c'è un modo migliore per farlo?
Soluzione
Accetto in una certa misura con @Valdis - Log4NET e Nlog sono due esempi di framework di registrazione molto potenti che offrono una grande flessibilità e una configurazione relativamente facile da usare (Nlog è probabilmente più facile da configurare rispetto a Log4NET). Tuttavia, non penso che sia necessario evitare completamente la tracesurce. TraceceSource è integrato in modo da evitare una dipendenza extra.
Se stai usando TracesOurce, non penso che un'unica applicazione è la via statica di tracesource statica. Consiglierei di usare più tracce, forse anche una per classe (che potrebbe essere eccessivo, ma è un modello comune quando si utilizza log4net e Nlog).
Ho messo più dettagli in una risposta alla tua altra domanda su quando utilizzare più di una tracesurce in un'applicazione.
Altri suggerimenti
Sei severo da utilizzare l'infrastruttura .net di eventi e di registrazione integrati? Vorrei incoraggiare a utilizzare alcune delle terze parti (come la registrazione della libreria aziendale). Quelli sono più flessibili, più configurabili e non hai padri come questi: scrivi solo:
Logger.Write(...)