DirectoriesBufferConfiguration.DataSources Property
Gets a list of configured directories for file-based logs.
Assembly: Microsoft.WindowsAzure.Diagnostics (in Microsoft.WindowsAzure.Diagnostics.dll)
Property Value
Type: System.Collections.Generic.IList(Of DirectoryConfiguration)Type: System.Collections.Generic.IList
Returns IList(Of T).
The DataSources collection stores the list of DirectoryConfiguration objects for each file-based logging directory. This property is used when retrieving or adding a DirectoryConfiguration object to Directories for your diagnostic monitor configuration, as Directories is of type DirectoriesBufferConfiguration.
Example
The following code snippet gets the diagnostic configuration for each instance in a role, creates a new DirectoryConfiguration object for crash dumps, and sets the new configuration:
// Get the connection string. It's recommended that you store the connection string in your web.config or app.config file.
// Use the ConfigurationManager type to retrieve your storage connection string. You can find the account name and key in
// the Windows Azure Management Portal (http://manage.windowsazure.com).
//string connectionString = "DefaultEndpointsProtocol=https;AccountName=<AccountName>;AccountKey=<AccountKey>";
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString;
// The deployment ID and role name for your application can be obtained from the
// Windows Azure Management Portal (http://manage.windowsazure.com). See your
// application dashboard under Cloud Services.
string deploymentID = "e2ab8b6667644666ba627bdf6f5e4daa";
string roleName = "WebRole1";
// Get the DeploymentDiagnosticManager object for your deployment.
DeploymentDiagnosticManager diagManager = new DeploymentDiagnosticManager(connectionString, deploymentID);
// Get the RoleInstanceDiagnosticManager objects for each instance of your role.
IEnumerable<RoleInstanceDiagnosticManager> instanceManagers = diagManager.GetRoleInstanceDiagnosticManagersForRole(roleName);
// Iterate through the role instances and update the configuration.
foreach (RoleInstanceDiagnosticManager roleInstance in instanceManagers)
{
DiagnosticMonitorConfiguration diagnosticConfiguration = roleInstance.GetCurrentConfiguration();
// Create a new DirectoryConfiguration object.
DirectoryConfiguration directoryConfiguration = new DirectoryConfiguration();
// Add the name for the blob container in Windows Azure storage.
directoryConfiguration.Container = "wad-crash-dumps";
// Add the directory size quota for the blob container.
directoryConfiguration.DirectoryQuotaInMB = 2048;
// Add the directoryConfiguration to the Directories collection.
diagnosticConfiguration.Directories.DataSources.Add(directoryConfiguration);
// Schedule a transfer period of 30 minutes.
diagnosticConfiguration.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(30.0);
// Set the configuration.
roleInstance.SetCurrentConfiguration(diagnosticConfiguration);
}
Warning |
|---|
This API is not supported in Azure SDK versions 2.5 and higher. Instead, use the diagnostics.wadcfg XML configuration file. For more information, see Collect Logging Data by Using Azure Diagnostics. |
