3
RollingFileAppender
이 log4net.Appender.FileAppender+MinimalLock
잠금 모델 과 함께 사용되면 파일에 아무 것도 기록하지 않는 것 같습니다. 그러나이 잠금 모델없이 appender를 사용하면 로깅이 작동합니다. 는 config 아래의 파일, Appender1
작품에서 프로그래밍 방식으로 파일 이름을 설정할 때 MinimalLock 잠금 모델이 작동하지 않음
Appender2
하지 않습니다 : 여기에
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
</configSections>
<log4net>
<appender name="Appender2"
type="log4net.Appender.RollingFileAppender" >
<file type="log4net.Util.PatternString" value="%property{LogName}" />
<encoding value="utf-8" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10000KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%logger] %message%n" />
</layout>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
</appender>
<appender name="Appender1"
type="log4net.Appender.RollingFileAppender" >
<file type="log4net.Util.PatternString" value="%property{LogName}" />
<encoding value="utf-8" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10000KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message%n" />
</layout>
</appender>
<logger name="myLogger" additivity="false">
<level value="DEBUG" />
<appender-ref ref="Appender2" />
</logger>
<root>
<level value="DEBUG" />
<appender-ref ref="Appender1" />
</root>
</log4net>
</configuration>
내가 테스트하고있는 샘플 코드입니다 :
static void Main(string[] args)
{
ILog logger = LogManager.GetLogger("myLogger");
GlobalContext.Properties["LogName"] = "Log1.log"; // <== The log file name is getting set here.
log4net.Config.XmlConfigurator.Configure(new FileInfo(@"Logger.config"));
logger.Info("Sample log entry");
}
내가 만든 또 다른 관찰은 내가 제거하는 경우이다 루트 수준 로거, 로깅이 작동하는 것 같습니다.
잠금 모델이 다른 appenders를 사용할 수 있습니까? – pmohandas
예.하지만 appender가 쓰는 각 파일에는 동일한 잠금 모델이 있어야합니다. – Peter