gpt4 book ai didi

Azure DiagnosticsMonitorTraceListener 不工作

转载 作者:行者123 更新时间:2023-12-03 01:11:52 26 4
gpt4 key购买 nike

Azure 正在开始做我的事情,我正在尝试让诊断跟踪工作并遵循各种指南(几乎都说同样的事情)。我现在无法在本地调试(出现错误)并且 RDP 似乎不想连接。我的网络配置中有以下内容:

 <system.diagnostics>
<trace>
<listeners>
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics">
<filter type="" />
</add>
</listeners>
</trace>

然后在 webrole.cs 中:

public override bool OnStart()
{
var diagnostics = DiagnosticMonitor.GetDefaultInitialConfiguration();

diagnostics.Logs.ScheduledTransferLogLevelFilter = LogLevel.Undefined;
diagnostics.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);
diagnostics.Logs.BufferQuotaInMB = 10;

CloudStorageAccount account = CloudStorageAccount.Parse(
RoleEnvironment.GetConfigurationSettingValue("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"));

DiagnosticMonitor.Start(account, diagnostics);

return base.OnStart();
}

服务定义文件中的内容:

<Imports>
<Import moduleName="Diagnostics" />
<Import moduleName="RemoteAccess" />
</Imports>

服务配置文件中的内容:

<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=<snip>;AccountKey=<snip>" />

部署站点时我没有收到任何错误,我在本地尝试了一个文本监听器,工作正常,但我在 Azure 上的表存储中没有得到任何结果。这以前曾有效,但后来我已将部署移至另一个订阅和存储帐户。由于我的 RDP 问题,我什至无法查看实例上是否本地创建了各种文件,而且我也不知道要检查哪些文件!

请帮忙!

最佳答案

我终于按照本指南设法让它工作:Here

基本上,唯一的区别在于我的网络角色的 OnStart 方法,而不是在几乎所有在线示例中找到的上面的代码,我必须使用以下代码,也许是因为我正在使用多个实例?

public override bool OnStart()
{
string wadConnectionString = "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString";
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue(wadConnectionString));

RoleInstanceDiagnosticManager roleInstanceDiagnosticManager = storageAccount.CreateRoleInstanceDiagnosticManager(RoleEnvironment.DeploymentId, RoleEnvironment.CurrentRoleInstance.Role.Name, RoleEnvironment.CurrentRoleInstance.Id);
DiagnosticMonitorConfiguration config = DiagnosticMonitor.GetDefaultInitialConfiguration();

config.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1D);
config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Undefined;

roleInstanceDiagnosticManager.SetCurrentConfiguration(config);
return base.OnStart();
}

谢谢弹性云!

关于Azure DiagnosticsMonitorTraceListener 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14851640/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com