在开发中,会经常遇到各种错误,只有捕获到了这些错误,才有可能解决问题。因此记录错误显得很重要。以下是创建错误日志的代码
/// <summary> /// 存放错误日志的路径 /// </summary> private static string errorDir = System.IO.Directory.GetCurrentDirectory().Split(new String[] { @"in" }, StringSplitOptions.None)[0] + @"Error"; /// <summary> /// 捕获错误信息 /// </summary> /// <param name="sql">错误语句</param> /// <param name="errorDetails">错误详细信息</param> public static void CaptureError(string sql, string errorDetails) { if (!System.IO.Directory.Exists(errorDir)) { System.IO.Directory.CreateDirectory(errorDir);//构建存放错误日志的路径 } string filePath = errorDir + @"errorLog.txt"; if (!System.IO.File.Exists(filePath)) { System.IO.File.Create(filePath).Close();//创建完文件后必须关闭掉流 } System.IO.File.SetAttributes(filePath, System.IO.FileAttributes.Normal); System.IO.StreamWriter sr = new System.IO.StreamWriter(filePath, true); sr.WriteLine("==============="+DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")+"============="); sr.WriteLine("执行出错的语句:"); sr.WriteLine(sql); sr.WriteLine("错误的详细信息:"); sr.WriteLine(errorDetails); sr.Close();//关闭写入的流 }
这里需要注意的是:System.IO.File.Create(filePath)的返回类型是FileStream,因此在创建完文件后应该立刻关闭流。