2012-04-13 21 views
7

Desidero che le mie righe di scrittura dell'applicazione ASP.NET si trovino in un registro da qualche parte. IIS fornisce un modo integrato per registrare i messaggi di registro di ASP.NET? Stavo pensando che potrebbe esserci un modo per catturare le chiamate a System.Diagnostics.Debug.WriteLine(), ma non riesco a trovare alcun modo per farlo.scrivere nel registro IIS da un'applicazione ASP.NET

risposta

8

Per acquisire Debug.Write e Debug.WriteLine utilizzare DebugView from sysinternals.

http://technet.microsoft.com/en-us/sysinternals/bb896647

Naturalmente si deve compilare con Debug=true altrimenti le funzioni non si chiama affatto. Quindi il file Debug.Write è un buon modo solo per testare in tempo reale e eseguire il debug dell'applicazione e non una soluzione per tenere il registro degli errori in generale. Per il caso che ti piace salvare gli errori penso che sia necessario utilizzare una libreria degli altri suggerimenti utente, o scrivere direttamente sul visualizzatore degli eventi i propri errori.

ps: Per qualche motivo la versione 4.78 non funziona sul mio Windows XP e tornare a 4,77

+0

Questo è perfetto, grazie. – McGarnagle

+0

È compatibile con Windows 10? – Milad

+0

@Milad Sì, lo è, come sviluppatore lo uso molto spesso. Se per qualsiasi motivo non vedi qualcosa avvia la tua applicazione in modalità amministratore. Non intendo il web, ma il resto – Aristos

0

ne so Debug.WriteLine scrive l'output di debug. Puoi vederlo nel tuo debugger e salvarlo da lì. Essa non scrive un file di log .. Debug Class

    sono condizionale Attritubte
  1. Debug Classe membro di See this Answer for explanation

si può provare ELMAH,

è un impianto di registrazione degli errori a livello di applicazione che è completamente inseribile. Può essere aggiunto dinamicamente a un'applicazione Web ASP.NET in esecuzione o anche a tutte le applicazioni Web ASP.NET su una macchina, senza necessità di ricompilazione o ridistribuzione.

o si può provare Log4Net

1

Cosa faccio di solito è di utilizzare un quadro di registrazione 3rd-party e configurare il quadro attraverso i file di configurazione (vale a dire non c'è bisogno di ricompilare).

I quadri che ho usato sono:

  • log4net - che ha un sacco di cosiddetti "appenders" di scrivere a obiettivi diversi, come registro eventi di Windows o di un database o di un file di log.
  • NLlog - Un framework di registrazione che è un po 'più facile da usare rispetto a log4net.

È necessario inserire le chiamate di funzione di registro appropriate nell'applicazione per attivare effettivamente una voce di registro in fase di creazione.

Poiché il titolo della domanda indica che si desidera scrivere sullo stesso registro (file) come fa IIS; Non ho idea di come risolvere questo requisito (lasciato solo che non riesco a immaginare un motivo per cui dovresti farlo)

6

Prova Response.AppendToLog(), questo scrive nel file di registro di IIS. È buono perché non richiede alcun software aggiuntivo.L'unico svantaggio è che probabilmente il tuo file di registro è enorme. Lo uso principalmente per identificare il contenuto registrato nel registro di IIS. Per esempio. Scrivi il nome utente quando accedono e puoi seguire la loro sessione.

+1

Dove verranno memorizzati i registri quando si utilizza 'Response.AppendToLog()' – Abhijeet

+0

L'output viene aggiunto alla riga di registro nel file di registro IIS, ma è codificato tramite URL (in W3C gli spazi di formattazione sono sostituiti con '+', ecc.). Guardalo attentamente :) – rustyx

Problemi correlati