获得;BlockCountExceedsLimit“;使用log4net.Appender.azureAppendBlobaPender时发生异常
我正在使用获得;BlockCountExceedsLimit“;使用log4net.Appender.azureAppendBlobaPender时发生异常,log4net,azure-web-app-service,Log4net,Azure Web App Service,我正在使用log4net.Appender.azureappendblobapender记录我的web应用程序的信息和错误。有时我会遇到“BlockCountExceedsLimit”例外。这是因为append blob只接受50000个块提交,之后它通过异常(冲突(409))提交。我检查了代码,发现它等待512个日志事件,并将每个日志条目分别刷新到append blob中。因此,我们一天只能记录50000个日志条目 有人能帮我吗?有人知道这方面的替代方案吗 谢谢, Karthik根据您的描述,
log4net.Appender.azureappendblobapender
记录我的web应用程序的信息和错误。有时我会遇到“BlockCountExceedsLimit”例外。这是因为append blob只接受50000个块提交,之后它通过异常(冲突(409))提交。我检查了代码,发现它等待512个日志事件,并将每个日志条目分别刷新到append blob中。因此,我们一天只能记录50000个日志条目
有人能帮我吗?有人知道这方面的替代方案吗
谢谢,
Karthik根据您的描述,我假设您使用的是nuget软件包。如下图所示: 据我所知,您可以按照我的理解编写自定义的
azureappendblobapender
,并调整Filename
,SendBuffer
方法以满足您的要求
我正在使用log4net.Appender.azureAppendBlobaPender记录我的web应用的信息和错误
由于您使用azure web app托管您的应用程序,因此可以使用内置的应用程序日志(Blob),azure端将帮助您每小时生成日志。您可以登录Azure Portal,选择web应用程序,启用应用程序日志记录(Blob),将日志记录级别设置为信息,以及您可以遵循的详细信息
对于您的应用程序,您可以使用以下代码记录信息和错误
System.Diagnostics.Trace.TraceError("xxxxx");
System.Diagnostics.Trace.TraceInformation("xxxxx");
我将代码更改为一点点以附加blob,一旦缓冲区达到阈值(512个日志条目),它将在一次提交中刷新日志条目
System.Diagnostics.Trace.TraceError("xxxxx");
System.Diagnostics.Trace.TraceInformation("xxxxx");