Chcę utworzyć pliki dziennika nazwy z następującym wzorem:log4net źle generowania dziennika nazwę pliku
SBRF_20120820.log
SBRF_20120821.log
SBRF_20120822.log
SBRF_20120823.log
Innymi słowy, utworzyć nowy plik dla każdego dnia. Więc utworzyć następującą konfigurację, aby to zrobić:
<log4net>
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender, log4net">
<file type="log4net.Util.PatternString" value="Logs/SBRF_%date{yyyyMMdd}.log" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level - %message%newline" />
</layout>
</appender>
<logger name="LogEmArquivo">
<level value="INFO" />
<appender-ref ref="FileAppender" />
</logger>
</log4net>
Kiedy uruchamiam program, dzisiaj na przykład, plik SBRF_20120823.log
zostanie utworzony. Jednak w następnych dniach dziennik utrzymuje napisać w pliku SBRF_20120823.log
i pliki, które są tworzone są:
SBRF_20120823.log.2012-08-23
SBRF_20120823.log.2012-08-24
SBRF_20120823.log.2012-08-25
SBRF_20120823.log.2012-08-26
I jeśli uruchomić program jutro, pliki, które zostaną utworzone są:
SBRF_20120824.log.2012-08-24
SBRF_20120824.log.2012-08-25
SBRF_20120824.log.2012-08-26
SBRF_20120824.log.2012-08-27
Dlaczego?
+1. Kiedyś pisałem własny RollingFileAppender, ale teraz przełączam się na używanie najnowszego log4net z tymi nowymi ustawieniami. –