Question

I am write a service using quartz.net in Windows service,when the service started the log write like this:

 protected override void OnStart(string[] args)
        {            
            scheduler.Start();
            IJobDetail job = JobBuilder.Create<wfTaskNotify>().WithIdentity("wfTaskNotify", "DemoJobGroup").Build();
            ITrigger trigger = TriggerBuilder.Create().StartAt(new DateTimeOffset(new DateTime(2012, 2, 10, 17, 40, 00))).Build();
            scheduler.ScheduleJob(job, trigger);
            logger.Info("Quartz service start success..."); 
        }

The is my log config:

<log4net xsi:noNamespaceSchemaLocation ="http://csharptest.net/downloads/schema/log4net.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <root>                          
            <level value="INFO"/>
            <appender-ref ref="rollingFile" />          
        </root>
        <logger name="ApplicationInfoLog">
            <level value="ALL" />           
            <appender-ref ref="rollingFile"/>
        </logger>

        <appender name="rollingFile" type="log4net.Appender.RollingFileAppender">
            <param name="File" value="Logs/log.txt" />
            <param name="AppendToFile" value="true" />
            <param name="RollingStyle" value="Date" />          
            <param name="DatePattern" value="yyyy.MM.dd" />
            <param name="StaticLogFileName" value="true" />
            <layout type="log4net.Layout.PatternLayout">            
                <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt; - %m%n" />
            </layout>
        </appender>
    </log4net>

And i close it has two records too.

And I am very sure the two output log record is unique and not two stament to output?

Like this:

2013-12-15 20:54:16,870 [16] INFO  Jsptpd.JobScheduler.jsptpdJobScheduler [(null)] <(null)> - Quartz service start success...
2013-12-15 20:54:16,870 [16] INFO  Jsptpd.JobScheduler.jsptpdJobScheduler [(null)] <(null)> - Quartz service start success...

Why would this happen?

Was it helpful?

Solution

This is because you define two logger:the highest level root logger and another logger,maybe two logger write log to the same log file.To fix it,you could try to remove a logger(i am sure it is worked):

<log4net xsi:noNamespaceSchemaLocation ="http://csharptest.net/downloads/schema/log4net.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <root>                          
            <level value="INFO"/>
            <appender-ref ref="rollingFile" />          
        </root>
        <logger name="ApplicationInfoLog">
            <level value="ALL" />           
            <appender-ref ref="rollingFile"/>
        </logger>
</log4net>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top