gpt4 book ai didi

c# - Azure/Blob 存储中的 log4net 与 RollingFileAppender

转载 作者:行者123 更新时间:2023-11-30 23:18:00 31 4
gpt4 key购买 nike

我在我的网络应用程序中使用 log4net我们通过云服务(而非应用服务)部署它。

我的理解是,我将无法访问磁盘上的日志文件(而且,这些文件无论如何都不是持久的)。

我的阅读内容是使用Blob存储。但我没有看到任何关于如何执行此操作的代码。有一个nuget包 https://www.nuget.org/packages/log4net.Appender.Azure但文档说它为每个日志条目创建一个文件。

我想要的是 RollingLogFile。

我基本上必须创建自己的吗?例如,拉下 log4net 源代码并创建我自己的附加程序来登录到云存储帐户而不是磁盘?看起来工作量很大,是否会想到有人已经编写了此功能的代码?

谢谢。

最佳答案

This project与我们分享一些使用 AzureBlobAppender 或 AzureAppendBlobAppender for log4Net 将日志条目存储在 Azure Blob 存储中的示例。

根据代码,我们可以发现AzureBlobAppender会为Azure Blob存储中的每个日志实体创建单独的xml文件,但是AzureAppendBlobAppender会通过调用CloudAppendBlob.AppendBlock method将一天内生成的日志存储在一个日志文件中。将新的日志数据 block 附加到现有 blob 的末尾。

如果您不想为每个日志条目创建 xml 文件,可以尝试使用 AzureAppendBlobAppender。

private static string Filename(string directoryName){
return string.Format("**{0}/{1}.entry.log.xml**",
directoryName,
DateTime.Today.ToString("yyyy_MM_dd",
DateTimeFormatInfo.InvariantInfo));
}

关于c# - Azure/Blob 存储中的 log4net 与 RollingFileAppender,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41110084/

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