安装 windows 服务后,Log4net 未创建日志文件
Log4net is not creating the log file after installation windows service
我有一个使用 log4net 的 windows 服务项目。如果我通过 installutil.exe 安装服务,那么一切正常。我添加 windows 安装项目 - 服务启动和工作,但不创建日志文件。
我的会议
<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>
Class
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 的 windows 服务项目。如果我通过 installutil.exe 安装服务,那么一切正常。我添加 windows 安装项目 - 服务启动和工作,但不创建日志文件。
我的会议
<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>
Class
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)]
作为网络服务的服务
如果您有文件追加程序,请确保您正在写入允许用户创建和更新文件的位置。如果不是,日志记录将失败。您可以在启用内部调试时检查此内容。