如题,我现在用的是
System.Diagnostics.EventLog EventLog1 = new System.Diagnostics.EventLog();
EventLog1.Source="myapplication";
EventLog1.WriteEntry("ttttttt");
来实现写日志,但发现很不直观,且查看不方便,所以想在程序中实现读写本地路径的*.log文件,该如何实现呢?
System.Diagnostics.EventLog EventLog1 = new System.Diagnostics.EventLog();
EventLog1.Source="myapplication";
EventLog1.WriteEntry("ttttttt");
来实现写日志,但发现很不直观,且查看不方便,所以想在程序中实现读写本地路径的*.log文件,该如何实现呢?
/// </summary>
public class ComLogOutput:System.Web.UI.Page
{
public ComLogOutput()
{
//
// Add Log File
//
} //Write Log File
public static void WriteLogFile(string megLog)
{
WriteLog(megLog);
}
public static void WriteLogFile(string program,string megLog)
{
WriteLog("["+program+"]"+megLog);
} //Write Log File
public static void WriteLogFile(Exception ex)
{
WriteLog("Exception:"+ex.ToString());
}
public static void WriteLogFile(string program,Exception ex)
{
WriteLog("["+program+"]Exception:"+ex.ToString());
} //Write Sql Log
public static void WriteSqlLog(string megLog)
{
WriteLog("SQL:"+megLog);
}
public static void WriteSqlLog(string program,string megLog)
{
WriteLog("["+program+"]SQL:"+megLog);
} /// <summary>
/// Write Log Function
/// </summary>
/// <param name="megLog">log message</param>
//Write Log
private static void WriteLog(string megLog)
{
//get path
string strPath = System.Configuration.ConfigurationSettings.AppSettings.Get("LogPath");
if(strPath == "")
return;
if(!Directory.Exists(strPath))
{
//create path
Directory.CreateDirectory(strPath);
} string fileName = DateTime.Now.ToString("yyyyMMdd") + "Log.TXT";
strPath = strPath + "\\" + fileName; string context = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + " ----> " + megLog;
if (File.Exists(strPath))
{
StreamWriter sw = File.AppendText(strPath);
sw.WriteLine(context);
sw.Close();
}
else
{
StreamWriter sw = File.CreateText(strPath);
sw.WriteLine(context);
sw.Close();
}
}
}