public CsvClassMap(QueryLogSettings queryday) { Map(m => m.Exception).Name(queryday.Exception).Optional(); Map(m => m.Level).Name(queryday.Level); Map(m => m.Logger).Name(queryday.Logger); Map(m => m.Message).Name(queryday.Message); Map(m => m.ThreadId).Name(queryday.ThreadId); Map(m => m.Time).Name(queryday.Time); }
private QueryLogSettings GetQueryLogSettings() { var d = new QueryLogSettings(); var lines = (Settings.QueryLog ?? string.Empty).Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); d.Encoding = (from l in lines where l.ToLower().Trim().StartsWith("encoding") select l) .FirstOrDefault() ?.Replace("encoding:", "").Trim() ?? "windows-1252"; d.Delimiter = (from l in lines where l.ToLower().Trim().StartsWith("delimiter") select l) .FirstOrDefault() ?.Replace("delimiter:", "").Trim() ?? ";"; d.Level = (from l in lines where l.ToLower().Trim().StartsWith("level") select l) .FirstOrDefault() ?.Replace("level:", "").Trim() ?? "level"; d.Logger = (from l in lines where l.ToLower().Trim().StartsWith("logger") select l) .FirstOrDefault() ?.Replace("logger:", "")?.Trim() ?? "logger"; d.Message = (from l in lines where l.ToLower().Trim().StartsWith("message") select l) .FirstOrDefault() ?.Replace("message:", "")?.Trim() ?? "message"; d.ThreadId = (from l in lines where l.ToLower().Trim().StartsWith("threadid") select l) .FirstOrDefault() ?.Replace("threadid:", "")?.Trim() ?? "threadid"; d.Time = (from l in lines where l.ToLower().Trim().StartsWith("time") select l) .FirstOrDefault() ?.Replace("time:", "")?.Trim() ?? "time"; d.Exception = (from l in lines where l.ToLower().Trim().StartsWith("exception") select l) .FirstOrDefault() ?.Replace("exception:", "")?.Trim() ?? "exception"; return(d); }
public static void Configure(this CsvReader csv, QueryLogSettings stg) { var map = new CsvClassMap(stg); csv.Configuration.RegisterClassMap(map); csv.Configuration.IgnoreBlankLines = true; csv.Configuration.MissingFieldFound = null; csv.Configuration.HeaderValidated = null; csv.Configuration.Delimiter = stg.Delimiter; csv.Configuration.PrepareHeaderForMatch = (header, idx) => header.ToLower(); }
public CsvFileReader(QueryLogSettings queryDay, string path) { _path = path; _querylog = queryDay; }