public override DateTime GetDateFromLog(string line, LogParserParameters parameters)
        {
            var dateBracket = line.IndexOf("(");

            if (!line.Contains("GMT") || dateBracket == -1)
            {
                return(new DateTime());
            }

            var dateString = string.Join(" ", line.Substring(1, dateBracket - 1).Split().ToList().GetRange(1, 4));

            DateTime     apiDate = DateTime.Parse(dateString + "Z");
            TimeZoneInfo tzi     = Util.OlsonTimeZoneToTimeZoneInfo("UTC");

            return(TimeZoneInfo.ConvertTime(apiDate, tzi));
        }
Exemple #2
0
        public override DateTime GetDateFromLog(string line, LogParserParameters parameters)
        {
            Util.WriteLog("GetDateFromLog(string line, LogParserParameters parameters)");
            var dateBracket = line.IndexOf("]");

            if (!line.StartsWith("[") || dateBracket == -1)
            {
                Util.WriteLog("returning: " + (new DateTime()));
                return(new DateTime());
            }


            string dateString = string.Join(" ", line.Substring(1, dateBracket - 1).Split().Take(2));

            Util.WriteLog("dateString: " + dateString);
            string timeZone = line.Substring(1, dateBracket - 1).Split()[2];

            Util.WriteLog("timeZone: " + timeZone);

            DateTime apiDate = DateTime.Parse(dateString + ((timeZone == "UTC") ? "Z" : ""));

            if (parameters.WorkerType == WorkerType.Linux)
            {
                return(Util.ConvertToUtcForLinux(apiDate, timeZone));
            }
            else
            {
                if (TimeZoneInfo == null)
                {
                    TimeZoneInfo = Util.OlsonTimeZoneToTimeZoneInfo(timeZone);
                }
                Util.WriteLog("TimeZone " + TimeZoneInfo.DisplayName);
                if (timeZone == "UTC")
                {
                    return(TimeZoneInfo.ConvertTime(apiDate, TimeZoneInfo));
                }

                return(TimeZoneInfo.ConvertTimeToUtc(apiDate, TimeZoneInfo));
            }
        }
        public override DateTime GetDateFromLog(string line, LogParserParameters parameters)
        {
            var dateBracket = line.IndexOf("]");

            if (!line.StartsWith("[") || dateBracket == -1)
            {
                return(new DateTime());
            }

            string dateString = string.Join(" ", line.Substring(1, dateBracket - 1).Split().Take(2));
            string timeZone   = line.Substring(1, dateBracket - 1).Split()[2];

            DateTime apiDate = DateTime.Parse(dateString + ((timeZone == "UTC") ? "Z" : ""));

            TimeZoneInfo tzi = Util.OlsonTimeZoneToTimeZoneInfo(timeZone);

            if (timeZone == "UTC")
            {
                return(TimeZoneInfo.ConvertTime(apiDate, tzi));
            }

            return(TimeZoneInfo.ConvertTimeToUtc(apiDate, tzi));
        }