Ben de her nasılsa log4net sürümü (1.2.15.0) üzerinde çalışmıyor, TRİ çözümünü uygun yöntemi test ederek, günlük dosyası haftalık yuvarlanmaya aynı sorunu yüzleşmek, ancak onun cevabını esinlenerek ve kaynak kodu okumak, ben haftada adıyla günlük dosyası oluşturmak için bir çözüm yaptık
namespace log4net.Appender
{
class RollingOverWeekFileAppender : RollingFileAppender
{
public RollingOverWeekFileAppender()
{
IDateTime dt = new SundayDateTime();
DateTimeStrategy = dt;
}
class SundayDateTime : IDateTime
{
public DateTime Now
{
get { return CalcThisSunday(DateTime.Now); }
}
private DateTime CalcThisSunday(DateTime time)
{
// Calc this sunday
time = time.AddMilliseconds((double)-time.Millisecond);
time = time.AddSeconds((double)-time.Second);
time = time.AddMinutes((double)-time.Minute);
time = time.AddHours((double)-time.Hour);
return time.AddDays((double)(-(int)time.DayOfWeek));
}
}
}
}
ve log.config benim pasajı (Pazar günü tarihi olarak adlandırılır)
<appender name="Log" type="log4net.Appender.RollingOverWeekFileAppender">
<file type="log4net.Util.PatternString">
<conversionPattern value=".\log-" />
</file>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<encoding value="utf-8" />
<staticLogFileName value="false"/>
<appendToFile value="true" />
<rollingStyle value="Date"/>
<datePattern value="yyyyMMdd.lo\g"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date	%level	%logger{1}	%message%newline" />
</layout>
</appender>