Come la vedo io ci sono due diversi tipi di registrazione:Linee guida per la registrazione (tracing) in un'applicazione Windows
- tronchi user-oriented, come quelle prodotte dal mio antivirus ("ha iniziato scan", "minacce trovato", etc.)
- tracce developer-focused, che può essere semplice come un log di eccezioni o dettagliato come un registro di ogni chiamata di metodo
attualmente sto progettando come incorporare il secondo tipo di registrazione nella nostra applicazione, in modo da poter ottenere un registro di ciò che è andato w rong quando un utente segnala un problema. Ho visto diverse discussioni su come dovrebbero essere verbose queste tracce e sui framework disponibili, ma qui sto cercando alcune linee guida più generali.
domande particolare ho includono:
- Dovremmo registrazione in un file, il registro eventi di Windows o da qualche altra parte? Per questi log focalizzati sullo sviluppatore che probabilmente non interessano all'utente, ritengo che un file sia il più appropriato. Ma in questo caso:
- Dove dovrebbe essere il file trova?
- Dovremmo implementare qualche forma di rotazione del registro per impedire che il file cresca troppo?
- Come possiamo gestire più istanze dell'applicazione che accedono al log contemporaneamente?
- Qualora questo tracciato essere acceso per impostazione predefinita? Se lo è, sono un po 'preoccupato per le prestazioni; ma se non lo è, finiremo per rispondere ai problemi di molti utenti con "attivare la traccia e provare a riprodurre il problema"? Questo non sembra troppo utile.
Spero che tu possa aiutarmi con queste domande. Apprezzerei anche qualsiasi altro consiglio che hai su questo argomento.
Ho indagato su ETW; vedere la domanda di follow-up all'indirizzo http://stackoverflow.com/questions/2384161 – user200783
Sì, è necessario utilizzare un framework di registrazione stabilito; fortunatamente se si utilizza Microsoft .NET Framework per l'applicazione Windows, ne è già incorporato uno (Sistema.Diagnostica), quindi non è necessario andare a qualcosa come log4net. –