今天要用Windows服務做個東西,首先添加個日誌功能,但是我總是打不出日誌,很奇怪 後來發現 <logger name="MyWindowsService">這裏面的name要和LogHelper幫助類裏的一致 private static log4net.ILog log = log4net.LogManager.GetLogger("MyWindowsService");
寫個加日誌的流程吧,首先 控制檯應用程序和windows服務加日誌的方式時一樣的
首先 添加dll 然後在AssemblyInfo中添加
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]
這裏的'config' 表示配置文件從App.config中讀取
然後在App.config中加入配置
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<logger name="MyWindowsService">
<level value="ALL" />
<appender-ref ref="rollingFile" />
</logger>
<appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net">
<!--存放日誌的路徑-->
<param name="File" value="E:/Log/LogInfo/"/>
<DatePattern value="yyyy-MM-dd".txt"" />
<StaticLogFileName value="false" />
<maxSizeRollBackups value="-1" />
<RollingStyle value="Date" />
<AppendToFile value="false" />
<MaximumFileSize value="1024MB" />
<layout type="log4net.Layout.PatternLayout,log4net">
<ConversionPattern value="%-38m %-7p %-20d %n" />
</layout>
</appender>
</log4net>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>
最後就使用就OK了