using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace UtilityLib
{
public class LogCommon
{
/// <summary>
/// 获取异常
/// </summary>
/// <param name="objectName">类名</param>
/// <param name="FunctionName">方法名</param>
/// <param name="ex">异常</param>
public static void ErrorLogInfo(string objectName, string FunctionName, Exception ex)
{
StringBuilder log = new StringBuilder();
log.Append(DateTime.Now.ToString(Consts.TIME_FORMAT));
log.Append(" ");
log.Append(objectName + " ");
log.Append(FunctionName + " ");
log.Append(ex.Message + " ");
log.AppendLine(ex.HelpLink + " ");
log.AppendLine(ex.Source + " ");
log.AppendLine(ex.StackTrace + " ");
log.AppendLine(ex.TargetSite.Name + " ");
if (ex.InnerException != null)
{
log.AppendLine(ex.InnerException.Message + "");
}
WriteMyLog(log.ToString());
}
/// <summary>
/// 写入异常日志
/// </summary>
/// <param name="ex"></param>
public static void WriteMyLog(string ex)
{
try
{
//路径最后一个字符串是否为\,
string strLastChar = Consts.strLogPath[Consts.strLogPath.Length - 1].ToString();
//如果没有则自动添加
if (strLastChar != @"\")
{
Consts.strLogPath = Consts.strLogPath + @"\";
}
// 判断路径是否存在
if (!Directory.Exists(Consts.strLogPath))
{
// 如果不存在则创建文件
Directory.CreateDirectory(Consts.strLogPath);
}
StreamWriter log = new StreamWriter(Consts.strLogPath + Consts.strLogName, true);
log.WriteLine(ex);
log.Close();
}
catch (Exception e)
{
throw e;
}
}
}
}
本文介绍了一个使用C#编写的通用异常日志记录方法,该方法能够详细记录异常信息并将其保存到指定的日志文件中。通过提供类名、方法名及异常对象,可以方便地追踪错误来源。
3632

被折叠的 条评论
为什么被折叠?



