2009-10-14 11 views
5

Mi piacerebbe creare una stringa ben formattata di un'eccezione per la registrazione. Facendo questo da silverlight quindi opzioni come nlog (not there yet), log4net non sono un'opzione.Formattare correttamente un'eccezione in una stringa

Qualcuno ha visto il codice di costruire qualcosa di simile:

ExceptionType: xxxx 
Message: xxxx 
StackTrace: XXX 
InnerException 
    ExceptionType: xxxx 
    Message: xxxx 
    StackTrace: XXX 

Sto attualmente scrivendo io stesso, solo sperando c'è il codice là fuori a fare qualcosa di più bello.

UPDATE: Stavo per chiudere questo q perché sono arrivato alla stessa conclusione di Zach, ma non ho intenzione di privare Zach dei punti! :)

Il .ToString() si presenta così:

 
System.Exception: I can't handle this ---> System.DivideByZeroException: Attempted to divide by zero. 
    at MuckingAround.RussTest_Click(Object sender, RoutedEventArgs e) 
    --- End of inner exception stack trace --- 
    at MuckingAround.RussTest_Click(Object sender, RoutedEventArgs e) 
    at System.Windows.Controls.Primitives.ButtonBase.OnClick() 
    at System.Windows.Controls.Button.OnClick() 
    at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e) 
    at System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e) 
    at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName) 

risposta

13

Si dovrebbe ottenere tutto questo, semplicemente chiamando il metodo dell'eccezione .ToString(). Usiamo questo per registrare le informazioni e ottieni tutto ciò che credo stia chiedendo. Vedere MSDN System.Exception.ToString() per ulteriori informazioni.

0

Solo per completezza: i logger EntLib consentono di definire i formattatori per l'eccezione dell'applicazione.

0

Inoltre, date un'occhiata a ciò che sta arrivando nel Enterprise Library 5.0 Silverlight Integration Pack, che affronterà molte di queste preoccupazioni trasversali degli sviluppatori LOB, tra cui la registrazione e la gestione delle eccezioni.

Sentitevi liberi di commentare le caratteristiche e anche per favore votare!

Problemi correlati