//log exception like: try
//{
// //Your stuff here
//}
//catch(Exception ex)
//{
// ex.Log();
//}
public static void Log(this Exception ex, string additionalMessage = "")
{
StringBuilder msg = new StringBuilder();
if (!string.IsNullOrEmpty(additionalMessage))
{
msg.Append(additionalMessage);
msg.Append(Environment.NewLine);
}
if (ex != null)
{
try
{
Exception orgEx = ex;
msg.Append("Exception:");
msg.Append(Environment.NewLine);
while (orgEx != null)
{
msg.Append(orgEx.Message);
msg.Append(Environment.NewLine);
orgEx = orgEx.InnerException;
}
if (ex.Data != null)
{
foreach (object i in ex.Data)
{
msg.Append("Data :");
msg.Append(i.ToString());
msg.Append(Environment.NewLine);
}
}
if (ex.StackTrace != null)
{
msg.Append("StackTrace:");
msg.Append(Environment.NewLine);
msg.Append(ex.StackTrace.ToString());
msg.Append(Environment.NewLine);
}
if (ex.Source != null)
{
msg.Append("Source:");
msg.Append(Environment.NewLine);
msg.Append(ex.Source);
msg.Append(Environment.NewLine);
}
if (ex.TargetSite != null)
{
msg.Append("TargetSite:");
msg.Append(Environment.NewLine);
msg.Append(ex.TargetSite.ToString());
msg.Append(Environment.NewLine);
}
Exception baseException = ex.GetBaseException();
if (baseException != null)
{
msg.Append("BaseException:");
msg.Append(Environment.NewLine);
msg.Append(ex.GetBaseException());
}
}
finally
{
}
}
// log this or email to admin return msg.ToString();
}
Monday, January 30, 2012
Best Extension Methods: Log Exception
One of the best extension method to log / email the exception of the application.
Share This!
Labels:
C#.NET,
Extension Methods
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment