Exemple #1
0
        public void Check_Entry_Two_73x_Is_Parsed()
        {
            var entry = EntriesToMatch_73x[1];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.That(data, Is.Not.Null);

            TestContext.WriteLine(data);

            var expectedDate = DateTime.Parse("2016-01-21 22:16:42");

            Assert.That(data.Date, Is.EqualTo(expectedDate));

            Assert.That(data.Level, Is.EqualTo("WARN"));

            Assert.That(data.Logger, Is.EqualTo("Umbraco.Web.UmbracoModule"));

            Assert.That(data.Message, Does.StartWith("Status code is 404 yet TrySkipIisCustomErrors is false - IIS will take over."));

            Assert.That(data.ThreadId, Is.EqualTo("30"));

            Assert.That(data.ProcessId, Is.EqualTo("10176"));

            Assert.That(data.DomainId, Is.EqualTo("4"));
        }
Exemple #2
0
        public void LogFile_Parsing_Performance()
        {
            const int Iterations = 1; // how many times we run parse the file

            TimeSpan  totalStream = TimeSpan.Zero;
            int       countStream = 0;
            Stopwatch sw          = new Stopwatch();

            var file = Configuration.UmbracoBigFile; // the big file to use

            /* This uses the stream version that reads one entry at a time */
            for (int i = 0; i < Iterations; i++)
            {
                sw.Reset();
                sw.Start();

                var logFile = Path.Combine(Configuration.TestLogsDirectory, file);

                LogDataService dataService = new LogDataService();

                countStream = dataService.GetLogDataFromFilePath(logFile)
                              //It's IEnumerable = lazy executed so we need to iterate it
                              .Count();
                sw.Stop();

                totalStream = totalStream.Add(sw.Elapsed);
            }

            Trace.Write("Elapsed Time Stream: " + totalStream);
        }
Exemple #3
0
        public void Check_Entry_One_Is_Parsed()
        {
            var entry = EntriesToMatch[0];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.IsNotNull(data);

            var expectedDate = DateTime.Parse("2016-01-21 22:14:10.559");

            Assert.AreEqual(expectedDate, data.Date);

            Assert.AreEqual("INFO", data.Level);

            Assert.AreEqual("Umbraco.Core.CoreBootManager", data.Logger);

            Assert.AreEqual("Umbraco 7.3.0 application starting on COMPUTER", data.Message.Substring(0, 46));

            Assert.AreEqual("1", data.ThreadId);

            Assert.AreEqual("10176", data.ProcessId);

            Assert.AreEqual("2", data.DomainId);
        }
Exemple #4
0
        public void Check_Entry_One_73x_Is_Parsed()
        {
            var entry = EntriesToMatch_73x[0];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.That(data, Is.Not.Null);

            var expectedDate = DateTime.Parse("2016-01-21 22:14:10");

            Assert.That(data.Date, Is.EqualTo(expectedDate));

            Assert.That(data.Level, Is.EqualTo("INFO"));

            Assert.That(data.Logger, Is.EqualTo("Umbraco.Core.CoreBootManager"));

            Assert.That(data.Message, Does.StartWith("Umbraco 7.3.0 application starting on COMPUTER"));

            Assert.That(data.ThreadId, Is.EqualTo("1"));

            Assert.That(data.ProcessId, Is.EqualTo("10176"));

            Assert.That(data.DomainId, Is.EqualTo("2"));
        }
Exemple #5
0
        public void Check_Entry_Three_73x_Is_Parsed()
        {
            var entry = EntriesToMatch_73x[2];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.That(data, Is.Not.Null);

            var expectedDate = DateTime.Parse("2016-01-21 22:16:47");

            Assert.That(data.Date, Is.EqualTo(expectedDate));

            Assert.That(data.Level, Is.EqualTo("ERROR"));

            Assert.That(data.Logger, Is.EqualTo("Umbraco.Web.WebApi.Filters.AngularAntiForgeryHelper"));

            Assert.That(data.Message, Does.StartWith("Could not validate XSRF token"));

            Assert.That(data.Message, Does.EndWith("at Umbraco.Web.WebApi.Filters.AngularAntiForgeryHelper.ValidateTokens(String cookieToken, String headerToken)"));

            Assert.That(data.ThreadId, Is.EqualTo("7"));

            Assert.That(data.ProcessId, Is.EqualTo("10176"));

            Assert.That(data.DomainId, Is.EqualTo("4"));
        }
Exemple #6
0
        public void Check_Entry_Five_Is_Parsed()
        {
            var entry = EntriesToMatch[4];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.IsNotNull(data);

            var expectedDate = DateTime.Parse("2015-11-17 09:03:59.502");

            Assert.AreEqual(expectedDate, data.Date);

            Assert.AreEqual("ERROR", data.Level);

            Assert.AreEqual("Umbraco.Core.UmbracoApplicationBase", data.Logger);

            Trace.Write(data.Message);

            Assert.IsTrue(data.Message.StartsWith("An unhandled exception occurred"));

            Assert.IsTrue(data.Message.EndsWith("And lots of other messages here some with square brackets in like [these]..."));

            Assert.AreEqual("1", data.ThreadId);

            Assert.AreEqual("5308", data.ProcessId);

            Assert.AreEqual("2", data.DomainId);
        }
Exemple #7
0
        public void Check_Entry_Seven_Is_Parsed()
        {
            var entry = EntriesToMatch[6];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.IsNotNull(data);

            var expectedDate = DateTime.Parse("2015-08-26 17:08:16.209");

            Assert.AreEqual(expectedDate, data.Date);

            Assert.AreEqual("INFO", data.Level);

            Assert.AreEqual("Umbraco.Web.Scheduling.BackgroundTaskRunner", data.Logger);

            Assert.AreEqual("[KeepAlive] Terminating", data.Message);

            Assert.AreEqual("33", data.ThreadId);

            Assert.AreEqual("3732", data.ProcessId);

            Assert.AreEqual("16", data.DomainId);
        }
        public void Check_Entry_Four_72x_Is_Parsed()
        {
            var entry = EntriesToMatch_72x[3];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.That(data, Is.Not.Null);

            var expectedDate = DateTime.Parse("2015-08-10 20:17:01.788");

            Assert.That(data.Date, Is.EqualTo(expectedDate));

            Assert.That(data.Level, Is.EqualTo("INFO"));

            Assert.That(data.Logger, Is.EqualTo("umbraco.BusinessLogic.Log"));

            Assert.That(data.Message, Is.EqualTo("Log scrubbed.  Removed all items older than 2015-06-11 20:17:01"));

            Assert.That(data.ThreadId, Is.EqualTo("21"));

            Assert.That(data.ProcessId, Is.EqualTo("7388"));

            Assert.That(data.DomainId, Is.EqualTo("16"));
        }
        public void Check_Entry_Five_72x_Is_Parsed()
        {
            var entry = EntriesToMatch_72x[4];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.That(data, Is.Not.Null);

            var expectedDate = DateTime.Parse("2015-08-10 20:10:09.043");

            Assert.That(data.Date, Is.EqualTo(expectedDate));

            Assert.That(data.Level, Is.EqualTo("ERROR"));

            Assert.That(data.Logger, Is.EqualTo("UmbracoExamine.DataServices.UmbracoLogService"));

            Assert.That(data.Message, Does.StartWith("Provider=InternalMemberIndexer, NodeId=-1"));

            Assert.That(data.Message, Does.EndWith("System.Exception: Cannot index queue items, the index doesn't exist!,, IndexSet: InternalMemberIndexSet"));

            Assert.That(data.ThreadId, Is.EqualTo("1"));

            Assert.That(data.ProcessId, Is.EqualTo("7389"));

            Assert.That(data.DomainId, Is.EqualTo("2"));
        }
        public void Check_Entry_Two_72x_Is_Parsed()
        {
            var entry = EntriesToMatch_72x[1];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.That(data, Is.Not.Null);

            var expectedDate = DateTime.Parse("2015-08-10 20:10:24.363");

            Assert.That(data.Date, Is.EqualTo(expectedDate));

            Assert.That(data.Level, Is.EqualTo("WARN"));

            Assert.That(data.Logger, Is.EqualTo("umbraco.content"));

            Assert.That(data.Message, Is.EqualTo("Failed to load Xml, file does not exist."));

            Assert.That(data.ThreadId, Is.EqualTo("21"));

            Assert.That(data.ProcessId, Is.EqualTo("7388"));

            Assert.That(data.DomainId, Is.EqualTo("9"));
        }
        public void Check_Entry_Three_72x_Is_Parsed()
        {
            var entry = EntriesToMatch_72x[2];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.That(data, Is.Not.Null);

            var expectedDate = DateTime.Parse("2015-08-10 20:12:51.344");

            Assert.That(data.Date, Is.EqualTo(expectedDate));

            Assert.That(data.Level, Is.EqualTo("ERROR"));

            Assert.That(data.Logger, Is.EqualTo("Umbraco.Core.UmbracoApplicationBase"));

            Assert.That(data.Message, Does.StartWith("An unhandled exception occurred"));

            Assert.That(data.Message, Does.EndWith("at Umbraco.Core.UmbracoApplicationBase.Application_Start(Object sender, EventArgs e)"));

            Assert.That(data.ThreadId, Is.EqualTo("50"));

            Assert.That(data.ProcessId, Is.EqualTo("7388"));

            Assert.That(data.DomainId, Is.EqualTo("12"));
        }
        public void Check_Entry_Seven_73x_Is_Parsed()
        {
            var entry = EntriesToMatch_73x[6];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.That(data, Is.Not.Null);

            var expectedDate = DateTime.Parse("2015-08-26 17:08:16.209");

            Assert.That(data.Date, Is.EqualTo(expectedDate));

            Assert.That(data.Level, Is.EqualTo("INFO"));

            Assert.That(data.Logger, Is.EqualTo("Umbraco.Web.Scheduling.BackgroundTaskRunner"));

            Assert.That(data.Message, Is.EqualTo("[KeepAlive] Terminating"));

            Assert.That(data.ThreadId, Is.EqualTo("33"));

            Assert.That(data.ProcessId, Is.EqualTo("3732"));

            Assert.That(data.DomainId, Is.EqualTo("16"));
        }
Exemple #13
0
        public async Task Invoke(HttpContext context)
        {
            try
            {
                await _next(context);
            }
            catch (HttpStatusCodeException e)
            {
                LogDataService logDataService = new LogDataService(new MongoLogDataDal());
                await logDataService.Add(new Common.CustomDTO.LogDataDTO()
                {
                    Message = e.Message+"\r\n"+e.StackTrace+"\r\n"+ (e.InnerException != null ? e.InnerException.Message : ""),
                    CorrelationId = context.Connection.Id,
                    IpAdress = context.Connection.LocalIpAddress + "#" + context.Connection.RemoteIpAddress,
                    RequestInfo = context.Request.Path,
                    Type = context.Request.Method == "GET" ? 0 : 1,
                    LogDate = DateTime.Now,
                    StatusCode = "400",
                    Id = ObjectId.GenerateNewId(),
                    ElapsedTime = 1
                });
                context.Response.Clear();
                context.Response.StatusCode = e.StatusCode;
                context.Response.ContentType = e.ContentType;

                await context.Response.WriteAsync(e.Message);
            }
        }
Exemple #14
0
        public void Check_Entry_Six_73x_Is_Parsed()
        {
            var entry = EntriesToMatch_73x[5];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.That(data, Is.Not.Null);

            var expectedDate = DateTime.Parse("2015-12-14 10:26:51");

            Assert.That(data.Date, Is.EqualTo(expectedDate));

            Assert.That(data.Level, Is.EqualTo("INFO"));

            Assert.That(data.Logger, Is.EqualTo("Umbraco.Core.UmbracoApplicationBase"));

            Assert.That(data.Message, Does.StartWith("Application shutdown. Details: ConfigurationChange"));

            Assert.That(data.Message, Does.EndWith("at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()"));

            Assert.That(data.ThreadId, Is.EqualTo("9"));

            Assert.That(data.ProcessId, Is.EqualTo("8060"));

            Assert.That(data.DomainId, Is.EqualTo("2"));
        }
Exemple #15
0
        public void Check_Entry_Three_Is_Parsed()
        {
            var entry = EntriesToMatch[2];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.IsNotNull(data);

            var expectedDate = DateTime.Parse("2016-01-21 22:16:47.114");

            Assert.AreEqual(expectedDate, data.Date);

            Assert.AreEqual("ERROR", data.Level);

            Assert.AreEqual("Umbraco.Web.WebApi.Filters.AngularAntiForgeryHelper", data.Logger);

            Assert.IsTrue(data.Message.Contains("at Umbraco.Web.WebApi.Filters.AngularAntiForgeryHelper.ValidateTokens(String cookieToken, String headerToken)"));

            Assert.AreEqual("7", data.ThreadId);

            Assert.AreEqual("10176", data.ProcessId);

            Assert.AreEqual("4", data.DomainId);
        }
Exemple #16
0
        public void Check_Entry_Five_73x_Is_Parsed()
        {
            var entry = EntriesToMatch_73x[4];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.That(data, Is.Not.Null);

            var expectedDate = DateTime.Parse("2015-11-17 09:03:59");

            Assert.That(data.Date, Is.EqualTo(expectedDate));

            Assert.That(data.Level, Is.EqualTo("ERROR"));

            Assert.That(data.Logger, Is.EqualTo("Umbraco.Core.UmbracoApplicationBase"));

            Assert.That(data.Message, Does.StartWith("An unhandled exception occurred"));

            Assert.That(data.Message, Does.EndWith("And lots of other messages here some with square brackets in like [these]..."));

            Assert.That(data.ThreadId, Is.EqualTo("1"));

            Assert.That(data.ProcessId, Is.EqualTo("5308"));

            Assert.That(data.DomainId, Is.EqualTo("2"));
        }
Exemple #17
0
        public void Check_Entry_Four_Is_Parsed()
        {
            var entry = EntriesToMatch[3];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.IsNotNull(data);

            var expectedDate = DateTime.Parse("2015-09-16 16:41:08.651");

            Assert.AreEqual(expectedDate, data.Date);

            Assert.AreEqual("ERROR", data.Level);

            Assert.AreEqual("umbraco.content", data.Logger);

            Trace.Write(data.Message);

            Assert.IsTrue(data.Message.StartsWith("Failed to load Xml from file."));

            Assert.AreEqual("42", data.ThreadId);

            Assert.AreEqual("7548", data.ProcessId);

            Assert.AreEqual("8", data.DomainId);
        }
        public void Check_Entry_Seven_72x_Is_Parsed()
        {
            var entry = EntriesToMatch_72x[6];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.That(data, Is.Not.Null);

            var expectedDate = DateTime.Parse("2016-01-20 11:11:28.402");

            Assert.That(data.Date, Is.EqualTo(expectedDate));

            Assert.That(data.Level, Is.EqualTo("WARN"));

            Assert.That(data.Logger, Is.EqualTo("Server: NOT AVAILABLE Url: http://NOT AVAILABLENOT AVAILABLE Umbraco.Core.Services.ApplicationTreeService"));

            Assert.That(data.Message, Does.StartWith(@"The tree definition: <add initialize=""true"" sortOrder=""0"" alias=""censusTree"" application=""developer"" title=""Census"" iconClosed=""icon-folder"" iconOpen=""icon-folder-open"" type=""Census.Controllers.CensusTreeController, Census"" /> could not be resolved to a .Net object type"));

            Assert.That(data.ThreadId, Is.EqualTo("19"));

            Assert.That(data.ProcessId, Is.EqualTo("12108"));

            Assert.That(data.DomainId, Is.EqualTo("2"));
        }
Exemple #19
0
        public void Check_Entry_Six_Is_Parsed()
        {
            var entry = EntriesToMatch[5];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);


            Assert.IsNotNull(data);

            var expectedDate = DateTime.Parse("2015-12-14 10:26:51.147");

            Assert.AreEqual(expectedDate, data.Date);

            Assert.AreEqual("INFO", data.Level);

            Assert.AreEqual("Umbraco.Core.UmbracoApplicationBase", data.Logger);

            Trace.Write(data.Message);

            Assert.IsTrue(data.Message.StartsWith("Application shutdown. Details: ConfigurationChange"));

            Assert.IsTrue(data.Message.EndsWith("at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()"));

            Assert.AreEqual("9", data.ThreadId);

            Assert.AreEqual("8060", data.ProcessId);

            Assert.AreEqual("2", data.DomainId);
        }
Exemple #20
0
        public void Check_Entry_Four_73x_Is_Parsed()
        {
            var entry = EntriesToMatch_73x[3];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.That(data, Is.Not.Null);

            var expectedDate = DateTime.Parse("2015-09-16 16:41:08");

            Assert.That(data.Date, Is.EqualTo(expectedDate));

            Assert.That(data.Level, Is.EqualTo("ERROR"));

            Assert.That(data.Logger, Is.EqualTo("umbraco.content"));

            Assert.That(data.Message, Does.StartWith("Failed to load Xml from file."));

            Assert.That(data.Message, Does.EndWith("at umbraco.content.LoadXmlFromFile()"));

            Assert.That(data.ThreadId, Is.EqualTo("42"));

            Assert.That(data.ProcessId, Is.EqualTo("7548"));

            Assert.That(data.DomainId, Is.EqualTo("8"));
        }
Exemple #21
0
        public void Check_Entry_Two_Is_Parsed()
        {
            var entry = EntriesToMatch[1];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.IsNotNull(data);

            var expectedDate = DateTime.Parse("2016-01-21 22:16:42.289");

            Assert.AreEqual(expectedDate, data.Date);

            Assert.AreEqual("WARN", data.Level);

            Assert.AreEqual("Umbraco.Web.UmbracoModule", data.Logger);

            Assert.AreEqual("Status code is 404 yet TrySkipIisCustomErrors is false - IIS will take over.", data.Message);

            Assert.AreEqual("30", data.ThreadId);

            Assert.AreEqual("10176", data.ProcessId);

            Assert.AreEqual("4", data.DomainId);
        }
Exemple #22
0
 public void Should_Match_All_Log_Entries()
 {
     foreach (var entry in EntriesToMatch)
     {
         var match = LogDataService.CheckIsLongEntryMatch(entry);
         Assert.AreEqual(true, match.Success, "The entry '{0}' was not considered a match", entry);
     }
 }
Exemple #23
0
 public void Should_Match_All_Umbraco_73x_Entries()
 {
     foreach (var entry in EntriesToMatch_73x)
     {
         var match = LogDataService.CheckIsLongEntryMatch(entry);
         Assert.That(match.Success, "The entry '{0}' was not considered a match", entry);
     }
 }
        public void Should_Read_Umbraco72x_LogFile_Stream()
        {
            var logFile = Path.Combine(Configuration.TestLogsDirectory, Configuration.UmbracoBigFile);

            TestContext.WriteLine(logFile);

            LogDataService dataService = new LogDataService();

            var logData = dataService.GetLogDataStreamFromFilePath(logFile);
        }
        public void LogFile_Profiling_Tests()
        {
            const int Iterations = 3; // how many times we run parse the file

            TimeSpan  totalStream  = TimeSpan.Zero;
            TimeSpan  totalReadAll = TimeSpan.Zero;
            Stopwatch sw           = new Stopwatch();

            var file = Configuration.UmbracoBigFile; // the big file to use

            /* This test uses the standard read all lines into memory */
            for (int i = 0; i < Iterations; i++)
            {
                sw.Reset();
                sw.Start();

                var logFile = Path.Combine(Configuration.TestLogsDirectory, file);

                LogDataService dataService = new LogDataService();

                var logData = dataService.GetLogDataFromFilePath(logFile);
                sw.Stop();

                totalReadAll = totalReadAll.Add(sw.Elapsed);
            }

            /* This uses the stream version that reads one entry at a time */
            for (int i = 0; i < Iterations; i++)
            {
                sw.Reset();
                sw.Start();

                var logFile = Path.Combine(Configuration.TestLogsDirectory, file);

                LogDataService dataService = new LogDataService();

                var logData = dataService.GetLogDataStreamFromFilePath(logFile);
                sw.Stop();

                totalStream = totalStream.Add(sw.Elapsed);
            }

            TestContext.WriteLine("Elapsed Time ReadAll: {0}\n", totalReadAll);

            TestContext.WriteLine("Elapsed Time Stream: {0}\n", totalStream);

            if (totalReadAll < totalStream)
            {
                TestContext.WriteLine("Read All is faster than Read Stream by {0}", totalStream - totalReadAll);
            }
            else
            {
                TestContext.WriteLine("Read Stream is faster than Read All by {0}", totalReadAll - totalStream);
            }
        }
Exemple #26
0
        public void Should_Read_Umbraco73x_LogFile()
        {
            var logFile = Path.Combine(Configuration.TestLogsDirectory, Configuration.Umbraco73xFile);

            LogDataService dataService = new LogDataService();

            var logData = dataService.GetLogDataFromFilePath(logFile);

            int logDataEntryCount = logData.Count();

            Assert.That(logDataEntryCount, Is.EqualTo(24), "The log data entry count should be 24 but is actually {0}", logDataEntryCount);
        }
Exemple #27
0
        public void Time_ParseLargeLogFile()
        {
            Stopwatch sw = new Stopwatch();

            sw.Start();

            var logFile = Path.Combine(Configuration.TestLogsDirectory, "UmbracoTraceLog.MictPHC124-PC.txt");

            LogDataService dataService = new LogDataService();

            var logData = dataService.GetLogDataFromFilePath(logFile).Count();

            sw.Stop();

            TestContext.WriteLine("Time taken: " + sw.Elapsed);
        }
        public void Check_Entry_Six_72x_Is_Parsed()
        {
            var entry = EntriesToMatch_72x[5];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.That(data, Is.Not.Null);

            var expectedDate = DateTime.Parse("2014-06-26 20:36:47.340");

            Assert.That(data.Date, Is.EqualTo(expectedDate));

            Assert.That(data.Level, Is.EqualTo("INFO"));

            Assert.That(data.Logger, Is.EqualTo("Umbraco.Core.ApplicationContext"));

            Assert.That(data.Message, Does.StartWith("CurrentVersion different from configStatus: '7.1.2',''-]"));

            Assert.That(data.ThreadId, Is.EqualTo("11"));
        }
        public void Check_Entry_Eight_72x_Is_Parsed()
        {
            var entry = EntriesToMatch_72x[7];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.That(data, Is.Not.Null);

            var expectedDate = DateTime.Parse("2015-07-22 20:17:16.194");

            Assert.That(data.Date, Is.EqualTo(expectedDate));

            Assert.That(data.Level, Is.EqualTo("INFO"));

            Assert.That(data.Logger, Is.EqualTo("Umbraco.Core.CoreBootManager"));

            Assert.That(data.Message, Is.EqualTo("Umbraco 7.2.8 [banana] application starting on DONKEY2000"));

            Assert.That(data.ThreadId, Is.EqualTo("14"));
        }
        public void Check_Entry_One_72x_Is_Parsed()
        {
            var entry = EntriesToMatch_72x[0];

            var match = LogDataService.CheckIsLongEntryMatch(entry);
            var data  = LogDataService.ParseLogDataItem(entry, match);

            Assert.That(data, Is.Not.Null);

            var expectedDate = DateTime.Parse("2014-06-26 20:36:23.372");

            Assert.That(data.Date, Is.EqualTo(expectedDate));

            Assert.That(data.Level, Is.EqualTo("INFO"));

            Assert.That(data.Logger, Is.EqualTo("Umbraco.Core.PluginManager"));

            Assert.That(data.Message, Is.EqualTo("Determining hash of code files on disk"));

            Assert.That(data.ThreadId, Is.EqualTo("1"));
        }