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)); }
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)); }