使用 Azure 应用服务日志记录时是否会出现 blob StorageExceptions?

Are blob StorageExceptions to be expected when using Azure App Service Logging?

从我们的 Azure 网站流式传输应用程序日志时,我每隔 30 或 40 分钟就会看到以下异常,抱歉...Azure Web 应用程序:-)

Application: Microsoft.WindowsAzure.Storage.StorageException: The remote server returned an error: (400) Bad Request. ---> System.Net.WebException: The remote server returned an error: (400) Bad Request.
Application:    at System.Net.HttpWebRequest.GetResponse()
Application:    at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext)
Application:    --- End of inner exception stack trace ---
Application:    at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext)
Application:    at Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.PutBlockList(IEnumerable`1 blockList, AccessCondition accessCondition, BlobRequestOptions options, OperationContext operationContext)
Application:    at Microsoft.WindowsAzure.WebSites.Diagnostics.AzureBlobTraceListener.AppendStreamToBlob(Stream stream)
Application:    at Microsoft.WindowsAzure.WebSites.Diagnostics.AzureBlobTraceListener.ConsumeBuffer()
Application: Request Information
Application: RequestDate:Thu, 26 Mar 2015 22:58:05 GMT
Application: StatusMessage:The specified block list is invalid.
Application: ErrorCode:InvalidBlockList

当您在 Azure 应用服务上启用了诊断日志记录时,这是预期的吗?是否只是忽略的第一次机会例外?

异常堆栈跟踪不包括您的服务总线队列调用,因此它不应该是由您调用 SendAsync. AzureBlobTraceListener is a .NET trace listener 引起的,它将所有跟踪和调试输出上传到 Azure Blob 服务。上传这些 blob 时似乎遇到了问题。

我们确认这是 AzureBlobTraceListener 中的错误,现已修复。感谢您报告此事,对于给您带来的不便,我们深表歉意。

但是,如果您的应用程序服务日志记录最初不应该启用,请参阅 Enable diagnostics logging for web apps in Azure App Service 了解更多信息。