1
我有一個帶有log4net的windows服務項目。如果我通過installutil.exe安裝服務,那麼一切正常。我添加Windows安裝項目 - 服務啓動和工作,但不創建日誌文件。Log4net在安裝Windows服務之後沒有創建日誌文件
我的conf
<configSections>
<section name="ConnectionInfo" type="Astra.Common.Configuration.ConnectionInfoConfiguration, Astra.Common" />
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net, Version=2.0.8, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a" />
</configSections>
...
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Logs\service.log" />
<param name="AppendToFile" value="true" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="5MB" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %m%n" />
</layout>
</appender>
<logger name="LOGGER">
<appender-ref ref="LogFileAppender" />
</logger>
</log4net>
類
public static class Logger
{
private static ILog log = LogManager.GetLogger("LOGGER");
public static ILog Log
{
get { return log; }
}
public static void InitLogger()
{
XmlConfigurator.Configure();
}
static Logger()
{
InitLogger();
}
}
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
服務作爲網絡服務
確保服務帳戶可以寫入該文件夾。如果是這樣,[啓用log4net調試](http://haacked.com/archive/2006/09/27/Log4Net_Troubleshooting.aspx/)並檢查輸出。 – stuartd
另外,請檢查服務嘗試創建文件的路徑 - 以'system32'作爲當前目錄開始的IIRC windows服務。 – stuartd
@stuartd謝謝!我的服務中的帳戶沒有權限寫入目錄 –