protected override void SaveMessage(AzureTraceMessage azureTraceMessage) { if (_connection.State != ConnectionState.Open) { _connection.Open(); } using (var command = _connection.CreateCommand()) { command.CommandText = string.Format(@"INSERT INTO {0} (ApplicationName, Message, Category, Timestamp) VALUES (@applicationName, @message, @category, @timeStamp)", _tableName); command.Parameters.Add(new SqlParameter("applicationName", SqlDbType.NVarChar) { Value = azureTraceMessage.ApplicationName }); command.Parameters.Add(new SqlParameter("message", SqlDbType.NVarChar) { Value = azureTraceMessage.Message }); command.Parameters.Add(new SqlParameter("category", SqlDbType.NVarChar) { IsNullable = true, Value = azureTraceMessage.Category ?? (object) DBNull.Value }); command.Parameters.Add(new SqlParameter("timeStamp", SqlDbType.DateTime2) { Value = azureTraceMessage.Timestamp }); command.ExecuteNonQuery(); } }
protected override void SaveMessage(AzureTraceMessage azureTraceMessage) { var serializedMessage = new JavaScriptSerializer().Serialize(azureTraceMessage); _queue.AddMessage(new CloudQueueMessage(serializedMessage)); }
public override void WriteLine(string message, string category) { if (string.IsNullOrEmpty(message)) return; try { var logMessage = new AzureTraceMessage(message, category, ApplicationName); SaveMessage(logMessage); } catch (Exception ex) { LogTraceException(ex); } }
protected override void SaveMessage(AzureTraceMessage azureTraceMessage) { _table.AddObject(_tableName, azureTraceMessage); _table.SaveChangesWithRetries(); }
protected abstract void SaveMessage(AzureTraceMessage logMessage);