logo       

RE: very simple question: msg#00083

log.log4net.user

Subject: RE: very simple question

If you want to configure log4net programmatically rather than using a
config file you should get hold of the logger repository implementation
object (which will be a Hierarchy type) and configure the loggers on
that.

The following example configures the root logger with a ConsoleAppender
and the "foo" logger with a FileAppender:


using log4net;
using log4net.Appender;
using log4net.Layout;
using log4net.Repository.Hierarchy;

public class ConfigEx
{
private static void Configure()
{
// Lookup the hierarchy
Hierarchy hierarchy =
(Hierarchy)log4net.LogManager.GetLoggerRepository();

// Create a console appender
ConsoleAppender consoleAppender = new ConsoleAppender();

PatternLayout patternLayout = new PatternLayout();
patternLayout.ConversionPattern = "%d [%t] %-5p %c [%x] - %m%n";
patternLayout.ActivateOptions();

consoleAppender.Layout = patternLayout;
consoleAppender.ActivateOptions();

// Attach console appender to root logger
hierarchy.Root.AddAppender(consoleAppender);

// Create file appender
FileAppender fileAppender = new FileAppender();

patternLayout = new PatternLayout();
patternLayout.ConversionPattern = "%d [%t] %-5p %c [%x] - %m%n";
patternLayout.ActivateOptions();

fileAppender.Layout = patternLayout;
fileAppender.AppendToFile = true;
fileAppender.File = "C:\\logfile.txt";
fileAppender.ActivateOptions();

// Attach file appender to logger named 'foo'
log4net.Repository.Hierarchy.Logger logger =
(Logger)hierarchy.GetLogger("foo");
logger.AddAppender(fileAppender);

// Inform the hierarchy that it is now configured
hierarchy.Configured = true;
}
}

Nicko


> -----Original Message-----
> From: Williams, Damon [mailto:dawilliams@xxxxxxxxxx]
> Sent: 19 February 2005 00:25
> To: log4net-user@xxxxxxxxxxxxxxxxxx
> Subject: very simple question
>
> I'm a Java guy trying to get the hang of C#
>
>
>
> Extremely basic question I'm sure:
>
> LogManager.GetLogger() returns ILog
>
>
>
> How do I access the underlying Logger object so that I can
> call SetLevel, AddAppender, etc?
>
>
>
>
>
> Thanks,
>
> - Damon Williams
>
> PayPal Developer Technical Support
>
> dawilliams@xxxxxxxxxx
>
>
>
>



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise