WindowsEventLogsBufferConfiguration.ScheduledTransferLogLevelFilter Property
Gets or sets the logging level by which to filter records when performing a scheduled transfer.
Namespace: Microsoft.WindowsAzure.Diagnostics
Assembly: Microsoft.WindowsAzure.Diagnostics (in Microsoft.WindowsAzure.Diagnostics.dll)
Syntax
public LogLevel ScheduledTransferLogLevelFilter { get; set; }
public:
property LogLevel ScheduledTransferLogLevelFilter {
LogLevel get();
void set(LogLevel value);
}
member ScheduledTransferLogLevelFilter : LogLevel with get, set
Public Property ScheduledTransferLogLevelFilter As LogLevel
Property Value
Type: Microsoft.WindowsAzure.Diagnostics.LogLevel
Type: Microsoft.WindowsAzure.Diagnostics.LogLevel
Returns LogLevel.
Remarks
The ScheduledTransferLogLevelFilter property is used to specify a LogLevel for Windows event logs. When you specify a LogLevel, all events greater than or equal to the specified severity are transferred to persistent storage. For example, if you specify LogLevel = Warning, Error and Critical logs will also be transferred to persistent storage.
When this property is set to Undefined, no filter is applied and all logging events at all levels are transferred.
Example
The following code snippet will transfer only error-level Windows event logs from local storage to persistent storage every 30 minutes.
// 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 classic portal (https://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 classic portal (https://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();
// Add Application logs to the configuration.
diagnosticConfiguration.WindowsEventLog.DataSources.Add("Application!*");
// Filter the logs so that only error-level logs are transferred to persistent storage.
diagnosticConfiguration.WindowsEventLog.ScheduledTransferLogLevelFilter = LogLevel.Error;
// Filter the logs so that only error-level logs are transferred to persistent storage.
diagnosticConfiguration.WindowsEventLog.ScheduledTransferLogLevelFilter = LogLevel.Error;
// Schedule a transfer period of 30 minutes.
diagnosticConfiguration.WindowsEventLog.ScheduledTransferPeriod = TimeSpan.FromMinutes(30.0);
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.
See Also
WindowsEventLogsBufferConfiguration Class
Microsoft.WindowsAzure.Diagnostics Namespace
Return to top