log4net Azure Blob Appender
log4net Azure Blob Appender
将日志保存到 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 class 属性:
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 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 class 属性:
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 只接受静态值。好在它是开源的...