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;
}
}
}
}