namespace Tiny_Dust.Lib.Base
{
/// <summary>
///错误保存,LogFile将错误信息和出错时间保存在有访问权限的文件中(默认:D:\WebException)
///可以通过ChangeErrSaveDir 改变
///或者用LogWindowEvent保存错误信息到Windows事件中(要求权限)
/// </summary>
public class ExceptionSave: System.Exception
{
static System.Text.Encoding gb = System.Text.Encoding.GetEncoding("GB2312");
static string ErrDir = ConstBase.ErrDir ; /// <summary>
/// 改变文件保存路径()
/// </summary>
/// <param name="sNewPath"></param>
static void ChangeErrSaveDir(string sNewPath)
{
///目录必须存在
if(System.IO.File.Exists(sNewPath))
ErrDir = sNewPath;
}
/// <summary>
/// 保存错误信息到Windows事件中(要求权限)
/// </summary>
/// <param name="message">要保存的错误信息</param>
public static void LogWindowEvent(string message)
{
try
{
if (!EventLog.SourceExists("Tiny_Dust"))
{
EventLog.CreateEventSource("Tiny_Dust", "Application");
}
EventLog.WriteEntry("Tiny_Dust", message, EventLogEntryType.Error);
}
catch
{
}
} /// <summary>
/// 保存错误信息
/// </summary>
/// <param name="message"></param>
public static void LogFile(string message)
{
try
{
//style: time \t errMessage \n
string ErrFile = System.IO.Path.Combine(ErrDir,DateTime.Now.ToString("MM_dd__")+"err.txt");
string sErr = DateTime.Now.ToString() +"\t"+message+"\r\n";
byte[] buff = gb.GetBytes(sErr);
FileStream fs = File.Open(ErrFile,FileMode.Append,FileAccess.Write,FileShare.None );
fs.Write (buff,0,buff.Length );
fs.Close (); }
catch(Exception ex)
{
Console.Write(ex.Message);
}
}
}
}
{
/// <summary>
///错误保存,LogFile将错误信息和出错时间保存在有访问权限的文件中(默认:D:\WebException)
///可以通过ChangeErrSaveDir 改变
///或者用LogWindowEvent保存错误信息到Windows事件中(要求权限)
/// </summary>
public class ExceptionSave: System.Exception
{
static System.Text.Encoding gb = System.Text.Encoding.GetEncoding("GB2312");
static string ErrDir = ConstBase.ErrDir ; /// <summary>
/// 改变文件保存路径()
/// </summary>
/// <param name="sNewPath"></param>
static void ChangeErrSaveDir(string sNewPath)
{
///目录必须存在
if(System.IO.File.Exists(sNewPath))
ErrDir = sNewPath;
}
/// <summary>
/// 保存错误信息到Windows事件中(要求权限)
/// </summary>
/// <param name="message">要保存的错误信息</param>
public static void LogWindowEvent(string message)
{
try
{
if (!EventLog.SourceExists("Tiny_Dust"))
{
EventLog.CreateEventSource("Tiny_Dust", "Application");
}
EventLog.WriteEntry("Tiny_Dust", message, EventLogEntryType.Error);
}
catch
{
}
} /// <summary>
/// 保存错误信息
/// </summary>
/// <param name="message"></param>
public static void LogFile(string message)
{
try
{
//style: time \t errMessage \n
string ErrFile = System.IO.Path.Combine(ErrDir,DateTime.Now.ToString("MM_dd__")+"err.txt");
string sErr = DateTime.Now.ToString() +"\t"+message+"\r\n";
byte[] buff = gb.GetBytes(sErr);
FileStream fs = File.Open(ErrFile,FileMode.Append,FileAccess.Write,FileShare.None );
fs.Write (buff,0,buff.Length );
fs.Close (); }
catch(Exception ex)
{
Console.Write(ex.Message);
}
}
}
}
解决方案 »
- winfrom如何修改窗体尺寸
- 我在UpdataPanel控件中使用Timer控件实现局部刷新,想通过点击textbox控件停止Timer控件功能,怎么不行?
- C#拍照后怎么改变分辨率?
- 如何取一个数组的下标
- 怎样在DataGrid中加入checkbox列?
- 关于部署的问题
- 再问异步编程
- 再问初学.net,vs版本与教程的问题
- 如何在dataGrid中实现在指定行的下一行添加一条记录(请帮助)!
- C#下怎样得到本机IP地址?
- jscript的问题,帮忙,谢谢
- 用c#做web页面时怎样使用treeview控件(首先我下载了microsoft.web.ui.treeview安装之后,但在添加工具箱时却找不到这个控件)
aa.WriteLine("asfda"); //here is your messsage
aa.WriteLine("asfda"); //here is your messsage
aa.Close();
我要求所有的例外都保存在同一个文件里,不想把每一个例外保存在不同的文件里,你上面好像保存在不同的文本文件里?
你可以通过错误号不同而修改文件名
public static void LogFile(string message,int ErrNumber)
{
try
{
//style: time \t errMessage \n
string ErrFile = System.IO.Path.Combine(ErrDir,ErrNumber.ToString()+"err.txt");
string sErr = DateTime.Now.ToString() +"\t"+message+"\r\n";
byte[] buff = gb.GetBytes(sErr);
FileStream fs = File.Open(ErrFile,FileMode.Append,FileAccess.Write,FileShare.None );
fs.Write (buff,0,buff.Length );
fs.Close (); }
catch(Exception ex)
{
Console.Write(ex.Message);
}
}//调用
try
{
command.CommandText = sSql;
command.CommandType= CommandType.Text;
command.ExecuteNonQuery();
}
catch(SqlException ex )
{
Tiny_Dust.Lib.Base.ExceptionSave.LogFile(ex.Message,ex.Number )
return false;
}
以为你要保存到不同的文件中去呢!!呵呵TO:welcomgoodies
我要求所有的例外都保存在同一个文件里,不想把每一个例外保存在不同的文件里,你上面好像保存在不同的文本文件里?/// <summary>
/// 保存错误信息
/// </summary>
/// <param name="message"></param>
public static void LogFile(string message)
{
try
{
const string LogFileName ="Error.txt"
//style: time \t errMessage \n
// string ErrFile = System.IO.Path.Combine(ErrDir,DateTime.Now.ToString("MM_dd__")+"err.txt");
string sErr = DateTime.Now.ToString() +"\t"+message+"\r\n";
byte[] buff = gb.GetBytes(sErr);
FileStream fs = File.Open(LogFileName,FileMode.Append,FileAccess.Write,FileShare.None );
fs.Write (buff,0,buff.Length );
fs.Close (); }
catch(Exception ex)
{
Console.Write(ex.Message);
}
}