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);