我们想在每次更新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();
}
}
}
答案 0 :(得分:2)
您可以将SVN / GIT修订版链接到您的项目吗?或者计算二进制文件的MD5