如何从配置文件中读取log4net.Util.PatternString值?
<log4net>
...
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="D:\AppLogs\%date{yyyy}\%date{MM}\%date{dd-MMM}.xml" />
</appender>
</log4net>
我查看了ILog属性,但找不到任何能够提供日志文件位置的内容。
答案 0 :(得分:1)
您可以将log4net配置解析为xml文件,然后找到appender - &gt;文件然后是value属性。
或者您可以尝试在当前的追加者中搜索:
foreach (var r in log4net.LogManager.GetAllRepositories()){
foreach (var a in r.GetAppenders()){
if (a is log4net.Appender.FileAppender){
log4net.Appender.FileAppender fileappender = a as log4net.Appender.FileAppender;
.....
}
}
}
答案 1 :(得分:0)
你可以得到这样的文件名:
var ap = Log.Logger.Repository.GetAppenders().First(a => a is FileAppender) as FileAppender;
它将具有File
和DatePattern
属性。