同一程序的兩個實例配置爲記錄在不同的文件,這是我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