#pragma warning disable CC0091 // Use static method public bool InsertLog(LogEvento log) #pragma warning restore CC0091 // Use static method { var command = $@"INSERT INTO event_log (id_evento, log_level, mensagem, data_criacao) VALUES (@id_evento, @log_level, @mensagem, @data_criacao)"; var paramList = new List <NpgsqlParameter> { new NpgsqlParameter("id_evento", log.EventId), new NpgsqlParameter("log_level", log.LogLevel), new NpgsqlParameter("mensagem", log.Message), new NpgsqlParameter("data_criacao", log.CreatedTime) }; return(ExecuteNonQuery(command, paramList)); }
public void Log <TState>(LogLevel logLevel, EventId eventoId, TState state, Exception exception, Func <TState, Exception, string> formato) { try { if (!IsEnabled(logLevel)) { return; } if (formato == null) { throw new ArgumentNullException(nameof(formato)); } var mensagem = formato?.Invoke(state, exception); if (string.IsNullOrEmpty(mensagem)) { return; } if (exception != null) { mensagem += $"\n{exception.ToString()}"; } mensagem = mensagem.Length > _messageMaxLength?mensagem.Substring(0, _messageMaxLength) : mensagem; var eventLog = new LogEvento { Message = mensagem, EventId = eventoId.Id, LogLevel = logLevel.ToString(), CreatedTime = DateTime.UtcNow }; _repositorio.InsertLog(eventLog); } finally { } }