网上找的源代码,自己根据实际情况进行了修改,能将日志保存在发不出来的web程序根目录下的ErrorLog文件夹内。
#region 创建错误日志
///-----------------------------------------------------------------------------
/// <summary>创建错误日志 在c:\ErrorLog\</summary>
/// <param name="strFunctionName">strFunctionName,调用方法名</param>
/// <param name="strErrorNum">strErrorNum,错误号</param>
/// <param name="strErrorDescription">strErrorDescription,错误内容</param>
/// <returns></returns>
public static void ErrorLog(string strFunctionName, string strErrorNum, string strErrorDescription)
{
string strMatter; //错误内容
string strPath; //错误文件的路径
DateTime dt = DateTime.Now;
try
{
strPath = HttpContext.Current.Server.MapPath("\\ErrorLog"); //返回网站根目录下查找errolog文件夹地址
//strPath = "c:" + "\\ErrorLog";//暂时放在c:下
if (Directory.Exists(strPath) == false) //工程目录下 Log目录 '目录是否存在,为true则没有此目录
{
Directory.CreateDirectory(strPath); //建立目录 Directory为目录对象
}
strPath = strPath + "\\" + dt.ToString("yyyyMM");
if (Directory.Exists(strPath) == false) //目录是否存在 '工程目录下 Log\月 目录 yyyymm
{
Directory.CreateDirectory(strPath); //建立目录//日志文件,以 日 命名
}
strPath = strPath + "\\" + dt.ToString("yyyyMMdd") + ".txt";
strMatter = "方法名:"+strFunctionName + " , 错误代码:" + strErrorNum + " , " + strErrorDescription.Replace("\r","");//生成错误信息
StreamWriter FileWriter = new StreamWriter(strPath, true); //创建日志文件
FileWriter.WriteLine("Time: " + dt.ToString("HH:mm:ss") + " Details: " + strMatter);
FileWriter.WriteLine("--------------------------------------------------------------------------------------------------");
FileWriter.Close(); //关闭StreamWriter对象
}
catch (Exception ex)
{
//("写错误日志时出现问题,请与管理员联系! 原错误:" + strMatter + "写日志错误:" + ex.Message.ToString());
string str = ex.Message.ToString();
}
}