/// <summary> /// Create single ApacheLog /// </summary> /// <param name="log"></param> /// <returns></returns> public ApacheLog Create(ApacheLog log) { using (var connection = new SqlConnection(ConnectionString)) { var sqlQuery = "INSERT INTO ApacheLogs(Client,QueryParams,RequestDate,Route,Size,StatusCode,Geolocation) " + " VALUES(@Client,@QueryParams,@RequestDate,@Route,@Size,@StatusCode,@Geolocation); SELECT CAST(SCOPE_IDENTITY() as int)"; int?logId = connection.Query <int>(sqlQuery, log).FirstOrDefault(); log.Id = (int)logId; } return(log); }
/// <summary> /// return null if parse is unsuccessed or ApacheLog if successed /// </summary> /// <returns></returns> public ApacheLog Parse() { Result = new ApacheLog(); foreach (var handler in _visitors) { if (!handler.Handle(this)) { return(null); } } return(Result); }
public bool TryParse(string line, out ApacheLog log) { var parser = new ApacheLogParser(line, new RouteLogParserVisitor(), new HostLogParserVisitor(), new DateTimeOffsetLogParserVisitor(), new ContentSizeVisitorLogParser(), new GeolocationLogParserVisitor(), new StatusCodeLogParserVisitor()); log = parser.Parse(); return(log != null); }
public void Add(ApacheLog entity) => Connection.Execute(AddStatement, entity, Transaction);