두 인스턴스가 여기 내 log4net.config이며, 별도의 파일에 기록하도록 구성되어 있습니다log4net 로깅은 같은 프로그램의
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%utcdate] %-5level %logger: %message%newline%exception"/>
</layout>
</appender>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="Log/svc-%property{ServiceName}"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="'-'yyyy'-'MM'-'dd'.log'"/>
<staticLogFileName value="false"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%utcdate] %-5level %logger: %message%newline%exception"/>
</layout>
</appender>
<root>
<level value="DEBUG"/>
<appender-ref ref="ConsoleAppender"/>
<appender-ref ref="RollingFileAppender"/>
</root>
</log4net>
그리고 여기 어떻게 인스턴스 로그 :
log = LogManager.GetLogger(ServiceName);
GlobalContext.Properties["ServiceName"] = ServiceName;
XmlConfigurator.ConfigureAndWatch(new FileInfo("log4net.config"));
이제 서비스는 "Service1" "Service10" "Service2"와 같은 것으로 불립니다.
나는 서비스 1 시작10, 내가 함께 테스트하고 있습니다 사람, 그들은 모두 자신의 로그 파일을 만듭니다
svc-BettweenSvc1-2011-07-26.log
svc-BettweenSvc10-2011-07-26.log
그러나 두 번째 서비스가 시작될 때, 첫 번째의 로그는 것을 시작 두 번째 로그에 추가되며 더 이상 사용되지 않습니다.
log4net을 사용하여 Windows 서비스에서 로그 파일을 올바르게 분리하여 기록하려면 어떻게해야합니까?
, 나는 많은 로그에 많은 응용 프로그램을 분리하려면 :하지만, 난 그냥 잘하면 다른 사람들을 돕기 위해 그것을 게시합니다 – bevacqua