У меня есть приложение, которое я развернутый с Azure, и я пытаюсь получить простую ваниль Трассировку рабочегоDiagnosticMonitorTraceListener не работает в лазури
Я прошел через все эти статьи: https://stackoverflow.com/search?q=diagnosticmonitortracelistener
Вот моя точка входа роль:
public class WebRole :RoleEntryPoint {
public override bool OnStart() {
if (RoleEnvironment.IsAvailable) {
LocalResource localResource = RoleEnvironment.GetLocalResource("MyCustomLogs");
DirectoryConfiguration dirConfig = new DirectoryConfiguration();
dirConfig.Container = "diagnostics-mycustomlogs-container";
dirConfig.DirectoryQuotaInMB = localResource.MaximumSizeInMegabytes;
dirConfig.Path = localResource.RootPath;
DiagnosticMonitorConfiguration diagMonitorConfig = DiagnosticMonitor.GetDefaultInitialConfiguration();
diagMonitorConfig.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(1.0);
diagMonitorConfig.Directories.DataSources.Add(dirConfig);
DiagnosticMonitor diagMonitor = DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", diagMonitorConfig);
Trace.Listeners.Add(new Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener());
Trace.AutoFlush = true;
Trace.WriteLine("Role Starting");
}
return base.OnStart();
}
}
поставил также след слушателя в Global.asax.cs:
if (RoleEnvironment.IsAvailable) {
Trace.Listeners.Add(new Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener());
Trace.AutoFlush = true;
}
Я также попытался просто вставить его непосредственно в web.config
<trace>
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener,
Microsoft.WindowsAzure.Diagnostics,
Version=1.8.0.0,
Culture=neutral,
PublicKeyToken=31bf3856ad364e35"
name="AzureDiagnostics">
<filter type="" />
</add>
Этот каталог получает созданный в моей Azure VM C:\Resources\Directory\d63aeab4198d458a9c0b1d0f818e4054.CorpQna.Web.MyCustomLogs
Это в моем ServiceDefinition.csdef
файле:
<LocalResources>
<LocalStorage name="MyCustomLogs" cleanOnRoleRecycle="false" sizeInMB="10" />
</LocalResources>
Когда я добавляю TextWriterTraceListener
в свой локальный эмулятор вычислений, он работает:
<trace autoflush="true">
<listeners>
<add type="System.Diagnostics.TextWriterTraceListener" name="TextWriter"
initializeData="c:\trace.log" />
</listeners>
</trace>
Однако это не работает на Azure. (Я подозреваю, что разрешений?)
Я нахожусь в состоянии покоя на этом этапе. Нет ошибок в любом месте, но нет журналов. В моем магазине Blob нет записи о создании Blob.
Он также не работает в эмуляторе. – Doug
Вот учебник http: //blog.amtopm.be/2014/07/20/azure-diagnostic-how-to-troubleshoot-your-code/ – Wout