怎样用C#把,此系统的日志记录并备份下来.
请问,比如做一系统(winForm),怎样用C#把此系统的日志记录并备份下来,在下基础不是很好,有源码甚好 问题点数:30、回复次数:4Top
1 楼xiao840127(若荑)回复于 2006-03-15 21:05:49 得分 20
public class Error {
//记录错误日志位置
//string str=ConfigurationSettings.AppSettings["ConnectionString"].ToString()
private const string FILE_NAME ="c:\\FengWuOAlog.txt";
public Error() {}
/// <summary>
/// 记录日志至文本文件
/// </summary>
/// <param name="message">记录的内容</param>
public static void Log(string message) {
if(File.Exists(FILE_NAME))
{
StreamWriter sr = File.AppendText(FILE_NAME);
sr.WriteLine ("\n");
sr.WriteLine("======================"+DateTime.Now.ToString()+"====================");
sr.WriteLine (DateTime.Now.ToString()+message);
sr.Close();
}
else
{
StreamWriter sr = File.CreateText(FILE_NAME);
sr.Close();
}Top
2 楼sunscz(sun-_-_-)回复于 2006-03-15 21:15:02 得分 0
thank you 我先试试, 等一会儿给你加分,这里真是程序员的天堂啊,哈哈.Top
3 楼zeusvenus()回复于 2006-03-15 21:52:06 得分 10
除上面提到的,如果你是要把自己程序产生的日志记录下来,如错误日志,可如下做:
//错误后记录到系统日志中;注意导入System.Diagnostics命名空间;注意在
//[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application建个该程序日志分支。
try
{
string errorMessage="我的系统有错误发生,详细错误是"+Server.GetLastError();
Server.ClearError();
string LogName="MyApplicationLog";
string SourceName="我的错误日志";
if(!(EventLog.SourceExists(SourceName)))
{
EventLog.CreateEventSource(SourceName,LogName);
}
//insert into EventLog:
EventLog MyLog=new EventLog();
MyLog.Source=SourceName;
MyLog.WriteEntry(errorMessage,EventLogEntryType.Error);
}
catch
{
}
finally
{
}
}
记录错误日志如果不改注册表将会出现ASP.NET帐户访问注册表的权限问题,可以手工改注册表或做成.reg文件预先导入,Winform无此问题。
Top
4 楼sunscz(sun-_-_-)回复于 2006-03-15 22:03:58 得分 0
多谢各位了,有空到我群坐坐啊21916890(.net专区),认真回复的都有分加,我先试试看啊Top




