Новый файл журнала каждый раз, когда мы загружаем новые двоичные файлы - PullRequest
0 голосов
/ 06 марта 2012

Мы хотели бы добавить некоторый «стартовый код» для указания файла журнала при каждом обновлении двоичных файлов сайта ASP.NET. Так, например, у нас есть двоичные версии 1.0, и запись в журнал в log_JhdsgGd1.txt. В следующий раз мы исправим некоторые ошибки, а затем загрузим новые двоичные файлы версии 1.1. А теперь мы хотим, чтобы файл журнала записывал в какой-то другой файл log_h12jh3G.txt. Мы не меняем номер версии в проекте.

Я попытался сгенерировать один стартовый код один раз в Application_Start (), а затем использовать его в классе, который пишет журнал. Но, к сожалению, это не работает так, как должно быть.


ОБНОВЛЕНИЕ ПОЧТЫ

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 Ответ

2 голосов
/ 06 марта 2012

Не могли бы вы связать редакцию SVN / GIT с вашим проектом?Или рассчитайте MD5 вашего двоичного файла

...