Mam log4net RollingFileAppender który jest skonfigurowany jako:log4net RollingFileAppender z kompozytowych stylu toczenia jest overwritting dane
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<root>
<level value="ALL" />
</root>
<logger name="RollingFileAppender" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="RollingFileAppender" />
</logger>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender" >
<param name="File" value="C:\\MyLog.log" />
<param name="AppendToFile" value="true" />
<param name="DatePattern" value="yyyy-MM-dd"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%m%n"/>
</layout>
</appender>
</log4net>
</configuration>
patrząc na documentation The Styl domyślny walcowanie Composite, więc ma to sens, to będzie przechodzić, gdy osiągnie określony rozmiar (domyślnie 10 MB), a nie tylko datę.
Problem polega na tym, że osiąga rozmiar, restartuje log i tracę dane z pierwszej połowy dnia (osiąga ten rozmiar około południa).
Dlaczego po prostu nie zostanie przeniesiony do nowego pliku i wszystkie przyszłe linie dziennika zostaną umieszczone w MyLog.log? A może dziennik się toczy, ale później o północy toczy się ponownie i nadpisuje datowany dziennik (np. Przesuwa się do MyLog.log2009-04-08 po osiągnięciu 10 MB, a następnie nadpisuje ten sam plik o północy)?
będę ustawić
<rollingStyle value="Date" />
Czy to wszystko, co mam zrobić, aby upewnić się, że rzuca tylko w dniu granicy? Czy mogę zmienić to w locie w Log4Net.config, czy muszę ponownie uruchomić aplikację? Działa na IIS6.
Upewniam się, że rozumiem: chcesz przetasować datę * i * rozmiar? lub tylko datę? –
Chcę, żeby to się stało tylko w dniu. Domyślnie walcowanie jest ustawione jako złożone, więc jest zwijane według daty lub rozmiaru, w zależności od tego, co nastąpi wcześniej. –