Mih*_*hai 1 log4net azure log4net-configuration log4net-appender azure-blob-storage
将日志保存到 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>
Run Code Online (Sandbox Code Playgroud)
我已经试过了
<param name="DirectoryName" value=%date/" />
Run Code Online (Sandbox Code Playgroud)
但它不起作用
我想要的是能够每天动态使用不同的文件夹:比如
目录名称 = 2016-05-13
目录名称 = 2016-05-12
目录名称 = 2016-05-11
这是可以实现的吗?
谢谢
这是从配置值映射的 DirectoryName 类属性:
private string _directoryName;
public string DirectoryName
{
get
{
if (String.IsNullOrEmpty(_directoryName))
throw new ApplicationException(Resources.DirectoryNameNotSpecified);
return _directoryName;
}
set
{
_directoryName = value;
}
}
Run Code Online (Sandbox Code Playgroud)
以及实际为 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());
}
Run Code Online (Sandbox Code Playgroud)
所以看起来 directoryName 只接受静态值。好在它是开源的...
| 归档时间: |
|
| 查看次数: |
4966 次 |
| 最近记录: |