我使用log4net.Appender.AzureAppendBlobAppender
来记录我的网络应用信息&错误。有时我会得到" BlockCountExceedsLimit"例外。这是由于附加blob在通过异常(Conflict(409))之后只接受了50,000个块提交。我检查了代码,发现它等待512个日志事件并将每个日志条目分别刷新到附加blob。因此,我们一天只能记录50,000个日志条目。
有人可以帮我这个吗?有没有人知道这个替代品?
谢谢, KARTHIK
答案 0 :(得分:1)
根据您的描述,我假设您正在使用log4net.Appender.Azure nuget包。正如您在AzureAppendBlobAppender.cs下看到的那样:
private static string Filename(string directoryName)
{
return string.Format("{0}/{1}.entry.log.xml",
directoryName,
DateTime.Today.ToString("yyyy_MM_dd",
DateTimeFormatInfo.InvariantInfo));
}
根据我的理解,您可以按AzureAppendBlobAppender.cs编写自定义AzureAppendBlobAppender
并调整Filename
,SendBuffer
方法以满足您的要求。
我正在使用log4net.Appender.AzureAppendBlobAppender来记录我的网络应用程序的信息&错误。
由于您使用azure Web应用程序来托管您的应用程序,您可以使用内置的应用程序日志记录(Blob),而azure side将帮助您每小时生成日志。您可以登录Azure门户,选择您的Web应用程序,启用应用程序日志记录(Blob),将日志记录级别设置为“信息”,您可以关注的详细信息Enable diagnostics logging for web apps in Azure App Service。
对于您的应用程序,您可以使用以下代码记录信息和错误。
System.Diagnostics.Trace.TraceError("xxxxx");
System.Diagnostics.Trace.TraceInformation("xxxxx");
答案 1 :(得分:0)