2011-09-20 1 views
5

Ho un'app console C# che sto distribuendo circa 20 volte (con diverse impostazioni di configurazione) e in esecuzione. Come puoi immaginare, è difficile tenere d'occhio quello che sta succedendo con 20 app in esecuzione (alla fine andrò a distribuirle come servizi Windows), quindi c'è qualcosa che può mostrare facilmente l'output di queste in un unico posto?Visualizzazione dell'output di app console Net. Mutilple in un unico posto

Ho pensato ai file di registro, ma questi potrebbero diventare grandi abbastanza velocemente, e sono molti file da aprire e guardare - Voglio solo avere un output per controllare che le cose siano ancora in esecuzione come previsto.

Edit:

ho intenzione di essere errori di scrittura e stop/start informazioni al database. Quello di cui sto parlando sono le informazioni generali sull'elaborazione, che non è tutto ciò che interessa rivisitare, ma è interessante da vedere mentre è in esecuzione nell'app della console.

+0

Anche se tutti si collegano allo stesso posto? Banca dati? – Widor

+0

Non sono troppo preoccupato di dove registrano tutte le informazioni gereral (sono d'accordo per gli errori), più preoccupato di dare un'occhiata a come stanno andando le cose. Se stanno portando avanti decine di migliaia di azioni al giorno, non voglio necessariamente scrivere tutto ciò nel database (o in un file) poiché non avrò mai più bisogno di vederlo di nuovo. – finoutlook

+2

Dai un'occhiata a log4net e alle appendici che offre. È davvero facile una volta che lo hai impostato. E con Upd, i datagrammi scompaiono nel cyberspazio se non c'è nessuno ad ascoltare. –

risposta

4

Ho utilizzato con successo log4net e la sua UdpAppender configurabile. Quindi è possibile indirizzare tutti gli UdpAppender in una singola macchina in cui è possibile ricevere i messaggi Udp con Log4View, ad esempio.

Dal momento che è configurabile, si può utilizzare quando si installa ed eseguire il debug di produzione e quindi di aumentare il livello di registrazione solo messaggi di errore in uscita invece di DEBUG o messaggi INFO.

http://logging.apache.org/log4net/

http://www.log4view.com

http://logging.apache.org/log4net/release/config-examples.html

2

Forse perché vengo da un background pesante DB, ma come sull'utilizzo di SQL Server con una tabella di log per tracciare l'attività tra le varie applicazioni?

DB sono orientati verso la concorrenza e sarà facilmente gestire più applicazioni inserimento dei dati nella stessa tabella Log, si ottiene anche le opzioni di affettare e sminuzzare attraverso i dati tanto come si vorrebbe, approfittando della aggregazione già esistente funzioni in un ambiente DB.

Se si percorre tale percorso, sarà probabilmente necessario prendere in considerazione la possibilità di mantenere tale tabella (periodo di memorizzazione dei log, ecc.).

È inoltre possibile iniziare a utilizzare strumenti come Splunk per raggruppare tutti i dati del registro e avviare i guasti delle app corrispondenti ai guasti di sistema o dell'ambiente (se questi vengono monitorati).

0

Mi piacerebbe secondo Mikael Östberg e consiglio di utilizzare una libreria di logger (log4net o nlog). Ci sono molte opzioni in cui puoi inviare messaggi a un database o a code, ecc ... Dal momento che puoi attivare o disattivare la registrazione facilmente, puoi anche tenerlo nei tuoi servizi come un gancio monitor nel caso in cui succeda qualcosa di strano

+0

Quello che sto cercando è un modo per monitorare quei log se voglio controllare cosa sta succedendo attualmente. Anche supponendo che io vada per Log4net - come visualizzerò l'output, dovrò selezionare da un menu a discesa venti volte per visualizzare ogni app, o c'è qualcosa che li possa raggruppare tutti in un'unica pagina. – finoutlook