public object GetDetails([FromUri] string appenderName) { TableAppender tableAppender = TableService.Instance.GetTableAppender(appenderName); string name = null; bool? connected = null; string connectionString = null; string tableName = null; bool? readOnly = null; int bufferSize = 0; // TODO: log entry count, first datetime, latest datetime if (tableAppender != null) { name = tableAppender.Name; connected = tableAppender.IsConnected(); connectionString = tableAppender.GetConnectionString(); tableName = tableAppender.TableName; readOnly = tableAppender.ReadOnly; bufferSize = tableAppender.BufferSize; } return(new { name = name, connected = connected, connectionString = connectionString, tableName = tableName, readOnly = readOnly, bufferSize = bufferSize }); }
/// <summary> /// Helper to get (and cache) the cloud table associated with the supplied appender name /// </summary> /// <param name="appenderName">name of the log4net appender</param> /// <returns>the CloudTable for the supplied appender if found, otherwise null</returns> private CloudTable GetCloudTable(string appenderName) { // if not in local cache if (!this.appenderCloudTables.ContainsKey(appenderName)) { TableAppender tableAppender = this.GetTableAppender(appenderName); if (tableAppender != null) { CloudTable cloudTable = tableAppender.GetCloudTable(); if (cloudTable != null) { this.appenderCloudTables[appenderName] = cloudTable; } else { return(null); } } } return(this.appenderCloudTables[appenderName]); }