public AuditEntry(EventType eventType, AuditEventId auditEventId, string username, string ipAddressV4, string machineName, string message) { EventId = auditEventId; EventType = eventType; Username = username; Message = message; MachineName = machineName; IpAddressV4 = ipAddressV4; EventTimeUtc = DateTime.UtcNow; }
public async Task <Response> AddAuditEntry(EventType eventType, AuditEventId auditEventId, string message) { try { if (!IsAuditLogEnabled()) { return(new FailedResponse("Audit Log is disabled.")); } (string username, string ipv4) = GetUsernameAndIp(); // Truncate data so that SQL won't blow up if (message.Length > 256) { message = message.Substring(0, 256); } string machineName = Environment.MachineName; if (machineName.Length > 32) { machineName = machineName.Substring(0, 32); } var auditEntry = new AuditEntry(eventType, auditEventId, username, ipv4, machineName, message); var connStr = _configuration.GetConnectionString(Constants.DbConnectionName); await using var conn = new SqlConnection(connStr); var sql = @"INSERT INTO AuditLog([EventId],[EventType],[EventTimeUtc],[WebUsername],[IpAddressV4],[MachineName],[Message]) VALUES(@EventId, @EventType, @EventTimeUtc, @Username, @IpAddressV4, @MachineName, @Message)"; int rows = await conn.ExecuteAsync(sql, auditEntry); return(new Response(rows > 0)); } catch (Exception e) { _logger.LogError(e, e.Message); return(new FailedResponse((int)ResponseFailureCode.GeneralException, e.Message, e)); } }
public async Task AddAuditEntry(EventType eventType, AuditEventId auditEventId, string message) { try { if (!await IsAuditLogEnabled()) { return; } var(username, ipv4) = GetUsernameAndIp(); // Truncate data so that SQL won't blow up if (message.Length > 256) { message = message.Substring(0, 256); } var machineName = Environment.MachineName; if (machineName.Length > 32) { machineName = machineName.Substring(0, 32); } var auditEntry = new AuditEntry(eventType, auditEventId, username, ipv4, machineName, message); var connStr = _configuration.GetConnectionString(_dbName); await using var conn = new SqlConnection(connStr); const string sql = @"INSERT INTO AuditLog([EventId],[EventType],[EventTimeUtc],[WebUsername],[IpAddressV4],[MachineName],[Message]) VALUES(@EventId, @EventType, @EventTimeUtc, @Username, @IpAddressV4, @MachineName, @Message)"; await conn.ExecuteAsync(sql, auditEntry); } catch (Exception e) { _logger.LogError(e, e.Message); } }