【发布时间】:2012-08-30 00:05:25
【问题描述】:
我一直在尝试让我的 MVC 项目使用 azure 进行日志记录,但到目前为止还没有取得多大成功。
我的ServiceConfiguration.Cloud.cscfg 文件中有一个诊断连接字符串,它指向我的 Blob 存储:
...
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.DiagnosticsConnectionString" value="**ConectionString**" />
</ConfigurationSettings>
我的web.config 已设置跟踪
...
<tracing>
<traceFailedRequests>
<remove path="*"/>
<add path="*">
<traceAreas>
<add provider="ASP" verbosity="Verbose" />
<add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
<add provider="ISAPI Extension" verbosity="Verbose" />
<add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module" verbosity="Verbose" />
</traceAreas>
<failureDefinitions timeTaken="00:00:15" statusCodes="400-599" />
</add>
</traceFailedRequests>
</tracing>
</system.webServer>
我的WebRole.cs 中有以下内容
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.Diagnostics;
using Microsoft.WindowsAzure.ServiceRuntime;
namespace MvcWebRole1
{
public class WebRole : RoleEntryPoint
{
public override bool OnStart()
{
// Get the factory configuration so that it can be edited
DiagnosticMonitorConfiguration config = DiagnosticMonitor.GetDefaultInitialConfiguration();
// Set scheduled transfer interval for infrastructure logs to 1 minute
config.DiagnosticInfrastructureLogs.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(1);
// Specify a logging level to filter records to transfer
config.DiagnosticInfrastructureLogs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
// Set scheduled transfer interval for user's Windows Azure Logs to 1 minute
config.Logs.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(1);
DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.DiagnosticsConnectionString", config);
//RoleEnvironment.Changing += this.RoleEnvironmentChanging;
return base.OnStart();
}
}
}
但我没有看到任何诊断日志
mam 文件夹只包含一个MACommanda.xml 和一个MASecret,vsdeploy 文件夹是空的,wad-control-container 有一个用于每个部署的文件。
我是否遗漏了什么/做错了什么?
我一直在尝试遵循 http://msdn.microsoft.com/en-us/library/windowsazure/gg433048.aspx 的指南,尤其是 http://channel9.msdn.com/learn/courses/Azure/Deployment/DeployingApplicationsinWindowsAzure/Exercise-3-Monitoring-Applications-in-Windows-Azure
更新:
我发现以下可能是问题的一部分
IIS7 日志未正确收集 - http://msdn.microsoft.com/en-us/library/hh134842
虽然这应该只说明 404 不工作,但故障定义为 15 秒,我的控制器操作中的 17 秒睡眠应该仍然被记录
【问题讨论】:
标签: azure azure-storage azure-blob-storage azure-web-roles