2009-10-14 10 views
5

Me gustaría crear una cadena de una excepción para el registro. Hacer esto desde Silverlight para opciones como nlog (not there yet), log4net no son una opción.Formatee con precisión una excepción en una cadena

Alguien ha visto el código para construir algo como:

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

actualmente estoy escribiendo yo mismo, sólo la esperanza, existe un código que hay que hacer algo más agradable.

ACTUALIZACIÓN: Estaba a punto de cerrar esta q ya que llegué a la misma conclusión que Zach, ¡pero no voy a privar a Zach de los puntos! :)

El .ToString() tiene el siguiente aspecto:

 
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) 

Respuesta

13

Usted debe conseguir todo esto, simplemente llamando al método de la excepción .ToString(). Usamos esto para registrar información y obtienes todo lo que creo que estás pidiendo. Consulte MSDN System.Exception.ToString() para obtener más información.

0

Para completar: los registradores EntLib le permiten definir formateadores para la excepción de su aplicación.

0

Además, eche un vistazo a lo que viene en el Enterprise Library 5.0 Silverlight Integration Pack, que abordará muchas de estas preocupaciones transversales de los desarrolladores de LOB, incluido el registro y el manejo de excepciones.

Siéntase libre de comentar las características y también por favor vote!

Cuestiones relacionadas