gpt4 book ai didi

azure - log4net Azure Blob 附加程序

转载 作者:行者123 更新时间:2023-12-02 00:54:07 26 4
gpt4 key购买 nike

将日志保存到 Azure Blob 存储时,是否可以每天创建不同的文件夹?现在我正在使用这个配置,它工作正常

<appender name="AzureAppender2" type="log4net.Appender.AzureBlobAppender, log4net.Appender.Azure">
<param name="ContainerName" value="testcon" />
<param name="DirectoryName" value="myfolder/logs.txt" />
<param name="ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=testcon;AccountKey="rftgdfgdfgfdg78=="/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>

我已经尝试过了

<param name="DirectoryName" value=%date/" />

但是没用

我想要的是能够每天动态使用不同的文件夹:类似于

目录名称 = 2016-05-13

目录名称 = 2016-05-12

目录名称 = 2016-05-11

这可以实现吗?

谢谢

最佳答案

Here's the code对于 GitHub 上的附加程序。

这是从配置值映射的 DirectoryName 类属性:

   private string _directoryName;

public string DirectoryName
{
get
{
if (String.IsNullOrEmpty(_directoryName))
throw new ApplicationException(Resources.DirectoryNameNotSpecified);
return _directoryName;
}
set
{
_directoryName = value;
}
}

以及实际为 blob 创建文件名的相关 Filename 方法:

private static string Filename(LoggingEvent loggingEvent, string directoryName)
{
return string.Format("{0}/{1}.{2}.entry.log.xml",
directoryName,
loggingEvent.TimeStamp.ToString("yyyy_MM_dd_HH_mm_ss_fffffff",
DateTimeFormatInfo.InvariantInfo),
Guid.NewGuid().ToString().ToLower());
}

所以看起来directoryName只接受静态值。好消息是它是开源的......

关于azure - log4net Azure Blob 附加程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37200806/

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