Ejemplo n.º 1
0
        private static void ConfigureAzureDiagnostics(params DirectoryConfiguration[] directories)
        {
            _initialConfiguration = DiagnosticMonitor.GetDefaultInitialConfiguration();

            _initialConfiguration.Directories.ScheduledTransferPeriod = ShippingInterval;
            foreach (var directory in directories)
            {
                _initialConfiguration.Directories.DataSources.Add(directory);
            }

            _initialConfiguration.Logs.ScheduledTransferPeriod         = ShippingInterval;
            _initialConfiguration.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;

            _initialConfiguration.WindowsEventLog.ScheduledTransferPeriod         = ShippingInterval;
            _initialConfiguration.WindowsEventLog.ScheduledTransferLogLevelFilter = LogLevel.Verbose;

            _initialConfiguration.DiagnosticInfrastructureLogs.ScheduledTransferPeriod         = ShippingInterval;
            _initialConfiguration.DiagnosticInfrastructureLogs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;

            _initialConfiguration.Directories.DataSources.Single(d => d.Container == "wad-crash-dumps").DirectoryQuotaInMB = 512;

            var iisLogSource = _initialConfiguration.Directories.DataSources.SingleOrDefault(d => d.Container == "wad-iis-logfiles");

            if (iisLogSource != null)
            {
                iisLogSource.DirectoryQuotaInMB = 512;
            }

            var iisFailedLogSource = _initialConfiguration.Directories.DataSources.SingleOrDefault(d => d.Container == "wad-iis-failedreqlogfiles");

            if (iisFailedLogSource != null)
            {
                iisFailedLogSource.DirectoryQuotaInMB = 512;
            }

            _initialConfiguration.OverallQuotaInMB = _initialConfiguration.Directories.DataSources.Sum(d => d.DirectoryQuotaInMB);

            DiagnosticMonitor.StartWithConnectionString(DiagnosticsConnectionString, _initialConfiguration);
        }