मेरे पास एक कंसोल ऐप है जिसे मैं विंडोज़ सेवा में परिवर्तित कर रहा हूं। कंसोल ऐप के रूप में मेरा लॉग 4नेट लॉगिंग ठीक काम कर रहा है। लेकिन इसे विंडोज़ सेवा में परिवर्तित करना, मेरे लॉग 4नेट लॉगिंग ने काम करना बंद कर दिया है।log4net विंडोज़ सेवा में काम नहीं कर रहा है
मैं सेवा परियोजना में मेरी AssemblyInfo.cs को यह जोड़ लिया है:
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();
}
मैं एक "विशिष्ट" है log4net config:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
यह onStart और onstop के साथ मेरी सेवा वर्ग है फ़ाइल मेरी सेवा प्रोजेक्ट में जोड़ा गया:
<?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>
कोई विचार या सुझाव?
मैंने इस समस्या को हल किया एपेंडर को ओवरराइड करके। इस समस्या की जांच करें: http://stackoverflow.com/questions/1922430/how-do-you-make-log4net-output-to-current-working-directory/1922805#1922805 – RClemens