Example #1
0
        public void TestBasicSetup2()
        {
            DateTime dt = DateTime.Now;


            SimpleLogline logline = new SimpleLogline(THROWNBY, dt, MESSAGE, SEVERITY, new Dictionary <string, string>());

            Thread.Sleep(2000);

            Assert.AreEqual(dt, logline.LogTime);
        }
Example #2
0
        public void TestBasicSetup1()
        {
            DateTime dt = DateTime.Now;


            SimpleLogline logline = new SimpleLogline(THROWNBY, dt, MESSAGE, SEVERITY, new Dictionary <string, string>());

            Assert.AreEqual(THROWNBY, logline.ThrownBy);
            Assert.AreEqual(MESSAGE, logline.Message);
            Assert.AreEqual(SEVERITY, logline.Severity);
            Assert.AreEqual(dt, logline.LogTime);
            Assert.AreEqual(0, logline.AdditionalFilters.Count);
        }
Example #3
0
        public void TestBasicSetup3()
        {
            DateTime dt = DateTime.Now;

            Dictionary <string, string> testAdditional = new Dictionary <string, string>
            {
                { ADDITIONALKEY, ADDITIONALVALUE }
            };

            SimpleLogline logline = new SimpleLogline(THROWNBY, dt, MESSAGE, SEVERITY, testAdditional);

            Assert.AreEqual(ADDITIONALVALUE, logline.GetAdditionalContent(ADDITIONALKEY));
            Assert.AreEqual(ADDITIONALKEY, logline.AdditionalFilters[0]);
        }
Example #4
0
        /// <summary>
        /// Load the data
        /// </summary>
        /// <returns>A list with the log lines</returns>
        public List <ILogLine> Load()
        {
            List <ILogLine> logLines = new List <ILogLine>();

            if (configuration.LoaderType != LoaderTypeEnum.FileLoader)
            {
                return(logLines);
            }

            if (!File.Exists(configuration.GetAdditionalSetting(AdditionalSettingsEnum.FilePath)))
            {
                return(logLines);
            }

            foreach (string line in File.ReadAllLines(configuration.GetAdditionalSetting(AdditionalSettingsEnum.FilePath)))
            {
                if (line == "")
                {
                    continue;
                }

                string thrownBy = "";
                string severity = "";
                string message  = "";
                Dictionary <string, string> additionalLines = new Dictionary <string, string>();
                DateTime time = DateTime.Now;

                foreach (string filterName in configuration.FilterNames)
                {
                    string filterString = configuration.Filters[filterName];

                    MatchCollection matches = Regex.Matches(line, filterString);

                    if (matches.Count >= 1)
                    {
                        switch (filterName)
                        {
                        case "Caller":
                            thrownBy = GetMatch(matches);
                            break;

                        case "Message":
                            message = GetMatch(matches);
                            break;

                        case "Severity":
                            severity = GetMatch(matches);
                            break;

                        case "Datetime":
                            string format = configuration.GetAdditionalSetting(AdditionalSettingsEnum.DateTimeFormat);
                            if (format == "")
                            {
                                continue;
                            }

                            DateTime.TryParseExact(GetMatch(matches), format, CultureInfo.InvariantCulture, DateTimeStyles.None, out time);
                            break;

                        default:
                            additionalLines.Add(filterName, matches[0].Value);
                            break;
                        }
                    }
                }

                ILogLine logLine = new SimpleLogline(thrownBy, time, message, severity, additionalLines);
                logLines.Add(logLine);
            }

            return(logLines);
        }