You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-user@logging.apache.org by Sidharth Nayyar <Si...@pulsion.co.uk> on 2009/08/19 11:43:28 UTC
No appenders found
Hello all,
I'm new to log4net, so sorry for the really basic question!
I've added this to the web.config of my site:
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
...
<log4net>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
<applicationName value="LoggingTest" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logfile" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyyMMdd" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender,log4net">
<to value="test@test.com" />
<from value="from@from.com" />
<subject value=" Warning" />
<smtpHost value="mail-relay.company.co.uk" />
<bufferSize value="512" />
<lossy value="false" />
<evaluator type="log4net.Core.LevelEvaluator,log4net">
<threshold value="WARN" />
</evaluator>
<layout type="log4net.Layout.PatternLayout,log4net">
<conversionPattern value="%property{log4net:HostName} :: %level :: %message %newlineLogger: %logger%newlineThread: %thread%newlineDate: %date%newlineNDC: %property{NDC}%newline%newline" />
</layout>
</appender>
<!-- Set root logger level to DEBUG and its only appender to A1 -->
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
</root>
<logger name="MyLogger">
<level value="WARN" />
<appender-ref ref="EventLogAppender" />
<appender-ref ref="SmtpAppender" />
<appender-ref ref="RollingFileAppender" />
</logger>
</log4net>
And in my code I have this:
private static ILog _defaultLog;
...
_defaultLog = log4net.LogManager.GetLogger("MyLogger");
_defaultLog.Error("test");
However nothing gets written to event log, file or smtp. While debugging there doesn't seem to be any appenders to the repository. So I'm presuming I haven't set up my configuration properly. Unfortunately I can't see where I'm going wrong - can you see where I'm going wrong?
Thanks in advance.
Regards
Sidharth
RE: No appenders found
Posted by Sidharth Nayyar <Si...@pulsion.co.uk>.
Thanks Ross, that's it logging now.
Unfortunately it's only using the appenders as specified in the root element, even though I'm trying to access it by "MyLogger" name. So I presume MyLogger isn't registered with the default repository? Should I therefore create a new repository with MyLogger name in order to use that Logger?
Also is there some documentation that shows all the configuration elements? I looked at the SDK but I couldn't find it.
Thanks again for all your help.
Regards,
Sidharth
From: Ross Hinkley [mailto:rosshinkley@gmail.com]
Sent: 19 August 2009 13:06
To: Log4NET User
Subject: Re: No appenders found
Sidharth,
I think it depends on the log4net section handler you're using. That overload of configure has specifies that the configuration must use the Log4NetConfigurationSectionHandler. See:
http://logging.apache.org/log4net/release/sdk/log4net.Config.XmlConfigurator.Configure_overload_2.html
for more information.
Alternatively, you could try the following in your code:
log4net.Config.XmlConfigurator.Configure(new FileInfo(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile));
-Ross
On Wed, Aug 19, 2009 at 5:11 AM, Sidharth Nayyar <Si...@pulsion.co.uk>> wrote:
Hi Wolfgang,
Thanks for your quick response.
I've added this to the code now:
if (!_defaultLog.Logger.Repository.Configured)
{
log4net.Config.XmlConfigurator.Configure(_defaultLog.Logger.Repository);
}
But the repository is still appearing as unconfigured and still no appenders. I've even tried doing a default XmlConfigurator.Configure(); before GetLogger() call. Is that the right way of calling the Configure() method?
Sidharth
From: Wolfgang Trog [mailto:wolfgang@wollinet.com<ma...@wollinet.com>]
Sent: 19 August 2009 10:49
To: 'Log4NET User'
Subject: RE: No appenders found
Do you have a
XmlConfigurator.Configure();
Or one of the other possibilities to configure log4net somewhere in your code ?
--
Wolfgang
From: Sidharth Nayyar [mailto:Sidharth.Nayyar@pulsion.co.uk<ma...@pulsion.co.uk>]
Sent: Mittwoch, 19. August 2009 11:43
To: log4net-user@logging.apache.org<ma...@logging.apache.org>
Subject: No appenders found
Hello all,
I'm new to log4net, so sorry for the really basic question!
I've added this to the web.config of my site:
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
...
<log4net>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
<applicationName value="LoggingTest" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logfile" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyyMMdd" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender,log4net">
<to value="test@test.com<ma...@test.com>" />
<from value="from@from.com<ma...@from.com>" />
<subject value=" Warning" />
<smtpHost value="mail-relay.company.co.uk<http://mail-relay.company.co.uk>" />
<bufferSize value="512" />
<lossy value="false" />
<evaluator type="log4net.Core.LevelEvaluator,log4net">
<threshold value="WARN" />
</evaluator>
<layout type="log4net.Layout.PatternLayout,log4net">
<conversionPattern value="%property{log4net:HostName} :: %level :: %message %newlineLogger: %logger%newlineThread: %thread%newlineDate: %date%newlineNDC: %property{NDC}%newline%newline" />
</layout>
</appender>
<!-- Set root logger level to DEBUG and its only appender to A1 -->
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
</root>
<logger name="MyLogger">
<level value="WARN" />
<appender-ref ref="EventLogAppender" />
<appender-ref ref="SmtpAppender" />
<appender-ref ref="RollingFileAppender" />
</logger>
</log4net>
And in my code I have this:
private static ILog _defaultLog;
...
_defaultLog = log4net.LogManager.GetLogger("MyLogger");
_defaultLog.Error("test");
However nothing gets written to event log, file or smtp. While debugging there doesn't seem to be any appenders to the repository. So I'm presuming I haven't set up my configuration properly. Unfortunately I can't see where I'm going wrong - can you see where I'm going wrong?
Thanks in advance.
Regards
Sidharth
Re: No appenders found
Posted by Ross Hinkley <ro...@gmail.com>.
Sidharth,
I think it depends on the log4net section handler you're using. That
overload of configure has specifies that the configuration must use the
Log4NetConfigurationSectionHandler. See:
http://logging.apache.org/log4net/release/sdk/log4net.Config.XmlConfigurator.Configure_overload_2.html
for more information.
Alternatively, you could try the following in your code:
log4net.Config.XmlConfigurator.Configure(new
FileInfo(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile));
-Ross
On Wed, Aug 19, 2009 at 5:11 AM, Sidharth Nayyar <
Sidharth.Nayyar@pulsion.co.uk> wrote:
> Hi Wolfgang,
>
>
>
> Thanks for your quick response.
>
>
>
> I’ve added this to the code now:
>
> if (!_defaultLog.Logger.Repository.Configured)
>
> {
>
> log4net.Config.XmlConfigurator
> .Configure(_defaultLog.Logger.Repository);
>
> }
>
>
>
> But the repository is still appearing as unconfigured and still no
> appenders. I’ve even tried doing a default XmlConfigurator.Configure();
> before GetLogger() call. Is that the right way of calling the Configure()
> method?
>
>
>
> Sidharth
>
>
>
> *From:* Wolfgang Trog [mailto:wolfgang@wollinet.com]
> *Sent:* 19 August 2009 10:49
> *To:* 'Log4NET User'
> *Subject:* RE: No appenders found
>
>
>
> Do you have a
>
>
>
> XmlConfigurator.Configure();
>
>
>
> Or one of the other possibilities to configure log4net somewhere in your
> code ?
>
>
>
> --
>
> Wolfgang
>
>
>
> *From:* Sidharth Nayyar [mailto:Sidharth.Nayyar@pulsion.co.uk]
> *Sent:* Mittwoch, 19. August 2009 11:43
> *To:* log4net-user@logging.apache.org
> *Subject:* No appenders found
>
>
>
> Hello all,
>
> I’m new to log4net, so sorry for the really basic question!
>
>
>
> I’ve added this to the web.config of my site:
>
>
>
> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,
> log4net" />
>
> …
>
> <log4net>
>
> <appender name="EventLogAppender" type="
> log4net.Appender.EventLogAppender" >
>
> <applicationName value="LoggingTest" />
>
> <layout type="log4net.Layout.PatternLayout">
>
> <conversionPattern value="%date [%thread] %-5level %logger
> [%property{NDC}] - %message%newline" />
>
> </layout>
>
> </appender>
>
> <appender name="RollingFileAppender" type="
> log4net.Appender.RollingFileAppender">
>
> <file value="logfile" />
>
> <appendToFile value="true" />
>
> <rollingStyle value="Composite" />
>
> <datePattern value="yyyyMMdd" />
>
> <maxSizeRollBackups value="10" />
>
> <maximumFileSize value="1MB" />
>
> <layout type="log4net.Layout.PatternLayout">
>
> <conversionPattern value="%date [%thread] %-5level %logger
> [%property{NDC}] - %message%newline" />
>
> </layout>
>
> </appender>
>
> <appender name="SmtpAppender" type="
> log4net.Appender.SmtpAppender,log4net">
>
> <to value="test@test.com" />
>
> <from value="from@from.com" />
>
> <subject value=" Warning" />
>
> <smtpHost value="mail-relay.company.co.uk" />
>
> <bufferSize value="512" />
>
> <lossy value="false" />
>
> <evaluator type="log4net.Core.LevelEvaluator,log4net">
>
> <threshold value="WARN" />
>
> </evaluator>
>
> <layout type="log4net.Layout.PatternLayout,log4net">
>
> <conversionPattern value="%property{log4net:HostName} ::
> %level :: %message %newlineLogger: %logger%newlineThread:
> %thread%newlineDate: %date%newlineNDC: %property{NDC}%newline%newline" />
>
> </layout>
>
> </appender>
>
>
>
> <!-- Set root logger level to DEBUG and its only appender to A1
> -->
>
> <root>
>
> <level value="DEBUG" />
>
> <appender-ref ref="RollingFileAppender" />
>
> </root>
>
>
>
> <logger name="MyLogger">
>
> <level value="WARN" />
>
> <appender-ref ref="EventLogAppender" />
>
> <appender-ref ref="SmtpAppender" />
>
> <appender-ref ref="RollingFileAppender" />
>
> </logger>
>
>
>
> </log4net>
>
>
>
> And in my code I have this:
>
> private static ILog _defaultLog;
>
> …
>
> _defaultLog = log4net.LogManager.GetLogger("MyLogger");
>
> _defaultLog.Error("test");
>
>
>
>
>
> However nothing gets written to event log, file or smtp. While debugging
> there doesn’t seem to be any appenders to the repository. So I’m presuming I
> haven’t set up my configuration properly. Unfortunately I can’t see where
> I’m going wrong - can you see where I’m going wrong?
>
>
>
> Thanks in advance.
>
>
>
> Regards
>
> Sidharth
>
>
>
RE: No appenders found
Posted by Sidharth Nayyar <Si...@pulsion.co.uk>.
Hi Wolfgang,
Thanks for your quick response.
I've added this to the code now:
if (!_defaultLog.Logger.Repository.Configured)
{
log4net.Config.XmlConfigurator.Configure(_defaultLog.Logger.Repository);
}
But the repository is still appearing as unconfigured and still no appenders. I've even tried doing a default XmlConfigurator.Configure(); before GetLogger() call. Is that the right way of calling the Configure() method?
Sidharth
From: Wolfgang Trog [mailto:wolfgang@wollinet.com]
Sent: 19 August 2009 10:49
To: 'Log4NET User'
Subject: RE: No appenders found
Do you have a
XmlConfigurator.Configure();
Or one of the other possibilities to configure log4net somewhere in your code ?
--
Wolfgang
From: Sidharth Nayyar [mailto:Sidharth.Nayyar@pulsion.co.uk]
Sent: Mittwoch, 19. August 2009 11:43
To: log4net-user@logging.apache.org
Subject: No appenders found
Hello all,
I'm new to log4net, so sorry for the really basic question!
I've added this to the web.config of my site:
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
...
<log4net>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
<applicationName value="LoggingTest" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logfile" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyyMMdd" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender,log4net">
<to value="test@test.com" />
<from value="from@from.com" />
<subject value=" Warning" />
<smtpHost value="mail-relay.company.co.uk" />
<bufferSize value="512" />
<lossy value="false" />
<evaluator type="log4net.Core.LevelEvaluator,log4net">
<threshold value="WARN" />
</evaluator>
<layout type="log4net.Layout.PatternLayout,log4net">
<conversionPattern value="%property{log4net:HostName} :: %level :: %message %newlineLogger: %logger%newlineThread: %thread%newlineDate: %date%newlineNDC: %property{NDC}%newline%newline" />
</layout>
</appender>
<!-- Set root logger level to DEBUG and its only appender to A1 -->
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
</root>
<logger name="MyLogger">
<level value="WARN" />
<appender-ref ref="EventLogAppender" />
<appender-ref ref="SmtpAppender" />
<appender-ref ref="RollingFileAppender" />
</logger>
</log4net>
And in my code I have this:
private static ILog _defaultLog;
...
_defaultLog = log4net.LogManager.GetLogger("MyLogger");
_defaultLog.Error("test");
However nothing gets written to event log, file or smtp. While debugging there doesn't seem to be any appenders to the repository. So I'm presuming I haven't set up my configuration properly. Unfortunately I can't see where I'm going wrong - can you see where I'm going wrong?
Thanks in advance.
Regards
Sidharth
RE: No appenders found
Posted by Wolfgang Trog <wo...@wollinet.com>.
Do you have a
XmlConfigurator.Configure();
Or one of the other possibilities to configure log4net somewhere in your
code ?
--
Wolfgang
From: Sidharth Nayyar [mailto:Sidharth.Nayyar@pulsion.co.uk]
Sent: Mittwoch, 19. August 2009 11:43
To: log4net-user@logging.apache.org
Subject: No appenders found
Hello all,
I'm new to log4net, so sorry for the really basic question!
I've added this to the web.config of my site:
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
.
<log4net>
<appender name="EventLogAppender"
type="log4net.Appender.EventLogAppender" >
<applicationName value="LoggingTest" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger
[%property{NDC}] - %message%newline" />
</layout>
</appender>
<appender name="RollingFileAppender"
type="log4net.Appender.RollingFileAppender">
<file value="logfile" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyyMMdd" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger
[%property{NDC}] - %message%newline" />
</layout>
</appender>
<appender name="SmtpAppender"
type="log4net.Appender.SmtpAppender,log4net">
<to value="test@test.com" />
<from value="from@from.com" />
<subject value=" Warning" />
<smtpHost value="mail-relay.company.co.uk" />
<bufferSize value="512" />
<lossy value="false" />
<evaluator type="log4net.Core.LevelEvaluator,log4net">
<threshold value="WARN" />
</evaluator>
<layout type="log4net.Layout.PatternLayout,log4net">
<conversionPattern value="%property{log4net:HostName} ::
%level :: %message %newlineLogger: %logger%newlineThread:
%thread%newlineDate: %date%newlineNDC: %property{NDC}%newline%newline" />
</layout>
</appender>
<!-- Set root logger level to DEBUG and its only appender to A1 -->
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
</root>
<logger name="MyLogger">
<level value="WARN" />
<appender-ref ref="EventLogAppender" />
<appender-ref ref="SmtpAppender" />
<appender-ref ref="RollingFileAppender" />
</logger>
</log4net>
And in my code I have this:
private static ILog _defaultLog;
.
_defaultLog = log4net.LogManager.GetLogger("MyLogger");
_defaultLog.Error("test");
However nothing gets written to event log, file or smtp. While debugging
there doesn't seem to be any appenders to the repository. So I'm presuming I
haven't set up my configuration properly. Unfortunately I can't see where
I'm going wrong - can you see where I'm going wrong?
Thanks in advance.
Regards
Sidharth