每次上传新二进制文件时都会出现新的日志文件

时间:2012-03-06 05:11:46

标签: c# asp.net .net asp.net-mvc-2 logging

我们想在每次更新ASP.NET站点的二进制文件时添加一些“启动代码”来指示日志文件。因此,例如,我们有二进制文件ver.1.0,并且日志写入log_JhdsgGd1.txt。下次我们纠正一些错误,然后上传新的二进制文件ver.1.1。现在,我们希望将日志文件写入其他一些log_h12jh3G.txt。我们不会更改项目中的任何版本号。

我尝试在Application_Start()中生成一些启动代码,然后在写日志的类中使用它。但遗憾的是,它并没有像预期的那样发挥作用。


POST UPDATE

protected void Application_Start()
{
    Random r = new Random();
    Application["startCode"] = r.Next(100000).ToString();

    AreaRegistration.RegisterAllAreas();
    RegisterRoutes(RouteTable.Routes);
}

public static class Logger
{
    static internal void WriteLog(string msg, string dbname = null)
    {
        using (StreamWriter sw = new StreamWriter(String.Format("{0}{1}{2}", HttpContext.Current.Server.MapPath("log"), Path.DirectorySeparatorChar, String.Format("log_{0}.txt", HttpContext.Current.Application["startCode"]), true)))
        {
            string logEntry;
            if (!String.IsNullOrEmpty(dbname))
                logEntry = String.Format("{0} ({1}): {2}", DateTime.Now.ToString(), dbname, msg);
            else
                logEntry = String.Format("{0}: {1}", DateTime.Now.ToString(), msg);

            sw.WriteLine(logEntry);
            sw.WriteLine("------------");
            sw.Flush();
            sw.Close();
        }
    }
}

1 个答案:

答案 0 :(得分:2)

您可以将SVN / GIT修订版链接到您的项目吗?或者计算二进制文件的MD5