[prev in list] [next in list] [prev in thread] [next in thread] 

List:       log4net-user
Subject:    Dynamic Appenders
From:       "Ernst Kuschke" <ernst.k () gmail ! com>
Date:       2006-04-04 9:37:56
Message-ID: c2faac300604040237w6130af60n98aed3103e18e471 () mail ! gmail ! com
[Download RAW message or body]

Hi,

I am really a newbie at log4net. I want to dynamically configure loggers,
and I do this as follows:

private static ILog ConfigureLogger(AuditType logType, string destination)
        {
                switch (logType)
                {
                    case(AuditType.Database):
                        appender = (AdoNetAppender)hierarchy.GetLogger(
Enum.GetName(typeof(AuditType), logType),
hierarchy.LoggerFactory).GetAppender(LOG_NAME);

                        if (appender == null)
                        {
                            appender = new AdoNetAppender();
                            //here I set some properties for the appender...

                    case(AuditType.TextFile):
                        {
                            //blah... you get the idea...
                        }
                }
                appender.Name = Enum.GetName(typeof(AuditType), logType);
                log4net.Config.BasicConfigurator.Configure(appender);
                ..........

Now how do I get the logger that uses the configured IAppender?!
Thanks in advance!!!


--
Ernst Kuschke
MVP - C#
http://dotnet.org.za/ernst

[Attachment #3 (text/html)]

Hi,<br><br>I am really a newbie at log4net. I want to dynamically configure loggers, \
and I do this as follows:<br><br>private static ILog ConfigureLogger(AuditType \
logType, string destination)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
switch (logType) <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
case(AuditType.Database):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
appender = (AdoNetAppender)hierarchy<div style="direction: \
ltr;">.GetLogger(Enum.GetName(typeof(AuditType), logType), hierarchy.LoggerFactory \
).GetAppender(LOG_NAME); \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
if (appender == null)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
appender = new AdoNetAppender();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n \
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
//here I set some properties for the appender... \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
case(AuditType.TextFile):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
//blah... you get the \
idea...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
appender.Name

 = Enum.GetName(typeof(AuditType), \
logType);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
log4net.Config.BasicConfigurator.Configure(appender);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
..........<br><br>Now how do I get the logger that uses the configured \
IAppender?!<br>

Thanks in advance!!!</div><br clear="all"><br>-- <br>Ernst Kuschke<br>MVP - C#<br><a \
href="http://dotnet.org.za/ernst">http://dotnet.org.za/ernst</a>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic