private void Log(LogLevel level, string machineName, string sender, object message, Exception t = null, Dictionary <string, object> parameters = null) { //-- Determine to Log or to Ignore if (ToIgnore(level)) { return; } //-- Validate if (!IsConnected) { if (!IgnoreException) { throw new Exception("Connection to Azure table storage was not established."); } else { return; } } //-- Arrange parameters = SanitizeParameters(parameters); //-- Act try { LogMessage logMessage = new LogMessage(level, machineName, sender, message, t); logMessage.AddProperties(parameters); TableOperation insertOperation = TableOperation.Insert(logMessage); LogTable.Execute(insertOperation); } catch (Exception ex) { if (!IgnoreException) { throw new Exception("Failed to log message into Azure table storage.", ex); } } }