Tengo una aplicación de consola que estoy convirtiendo en un servicio de Windows. Como aplicación de consola, mi log4net logging funciona bien. Pero al convertirlo en un servicio de Windows, mi log4net logge ha dejado de funcionar.log4net no funciona en un servicio de Windows
he añadido esto a mis AssemblyInfo.cs en el proyecto de servicio:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
Ésta es mi clase de servicio con OnStart y OnStop:
private static log4net.ILog _log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
private Builder _builder;
public YCSWebServerService()
{
InitializeComponent();
_builder = new Builder();
}
protected override void OnStart(string[] args)
{
_log.Info("YCSWebServerService started");
_builder.Start();
}
protected override void OnStop()
{
_log.Info("YCSWebServerService stopped");
_builder.Stop();
}
tengo una "específica" log4net config archivo agregado a mi proyecto de servicio:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="EventLogAppender" />
</root>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
<threshold value="DEBUG" />
<applicationName value="Lantic YCS WebServer" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="(%-5level %date{hh}:%date{mm}:%date{ss} [%thread] %logger [%property{NDC}]) %message %n" />
</layout>
</appender>
</log4net>
</configuration>
¿Alguna idea o idea?
Resolví este problema anulando el appender. Compruebe este problema: http://stackoverflow.com/questions/1922430/how-do-you-make-log4net-output-to-current-working-directory/1922805#1922805 – RClemens