Adding Style Frequency option to rollingfileappender to avoid continuous update based on date.

--HG--
branch : dev
This commit is contained in:
Andre Rodrigues
2010-12-10 14:24:24 -08:00
parent 919a57c1bf
commit e63e0b6aa6
3 changed files with 30 additions and 1 deletions

View File

@@ -16,13 +16,14 @@
<appender-ref ref="RollingLogFileAppender" />
</logger>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<appender name="RollingLogFileAppender" type="Orchard.Logging.OrchardFileAppender">
<file value="App_Data/Logs/orchard-debug-" />
<appendToFile value="true" />
<immediateFlush value="true" />
<staticLogFileName value="false" />
<rollingStyle value="Date" />
<rollingStyleFrequency value="Once" />
<datepattern value="dd.MM.yyyy-hh_mm_ss.fff'.log'" />
<layout type="log4net.Layout.PatternLayout">

View File

@@ -0,0 +1,27 @@
using log4net.Appender;
using log4net.Util;
namespace Orchard.Logging {
public class OrchardFileAppender : RollingFileAppender {
public enum RollingStyleFrequencyMode {
Once,
Continuous
}
public RollingStyleFrequencyMode RollingStyleFrequency { get; set; }
public bool RollSize {
get { return (RollingStyle == RollingMode.Once || RollingStyle == RollingMode.Size); }
}
protected override void AdjustFileBeforeAppend() {
if (RollingStyle == RollingMode.Size ||
RollingStyleFrequency == RollingStyleFrequencyMode.Continuous) {
base.AdjustFileBeforeAppend();
}
else if (RollSize && ((File != null) && (((CountingQuietTextWriter)base.QuietWriter).Count >= MaxFileSize))) {
RollOverSize();
}
}
}
}

View File

@@ -176,6 +176,7 @@
<Compile Include="Localization\Services\CurrentCultureWorkContext.cs" />
<Compile Include="Localization\Services\DefaultLocalizedStringManager.cs" />
<Compile Include="Localization\Services\ILocalizedStringManager.cs" />
<Compile Include="Logging\OrchardFileAppender.cs" />
<Compile Include="Messaging\Services\DefaultMessageManager.cs" />
<Compile Include="Mvc\IOrchardViewPage.cs" />
<Compile Include="Mvc\Spooling\HtmlStringWriter.cs" />