如题,我现在用的是
   System.Diagnostics.EventLog EventLog1 = new System.Diagnostics.EventLog();
   EventLog1.Source="myapplication";
   EventLog1.WriteEntry("ttttttt");
来实现写日志,但发现很不直观,且查看不方便,所以想在程序中实现读写本地路径的*.log文件,该如何实现呢?

解决方案 »

  1.   

    用些文本文件的形式,把文件存为 XX.log就可以了。
      

  2.   

    就是用写txt文件的方法吗?没有其他的方法吗?
      

  3.   

    /// Logic of ComLogOutput 
    /// </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();
    }
    }
    }