A logger is created from and writes to logger repository (ILoggerRepository). By default there is usually one logging repository per application. Since the 3rd party library has "corrupted" the default repository you can create your own repository and create loggers from there. The repository must have a name. The log4net test cases normally use a guid for their name:
ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); You need to tell the XmlConfigurator that you want to configure your specific repository instead of the default repository: XmlConfigurator.Configure(rep, new FileInfo("log4net.config")); When you request a logger you must now pass the name of the repository that you want to create it from: ILog log = LogManager.GetLogger(rep.Name, typeof(Program)); You could probably write your own helper method somewhere in your application so that your logger creation code looks like this: ILog log = GetLogger(typeof(Program)); Here's a design that a 3rd party library could use to mimic the familiar design of log4net without actually referencing a particular version of log4net and/or without using log4net at all (i.e. someone could write a ConsoleLoggerFactory): public static class LogManager { public static ILog GetLogger( Type type ) { return Adapter.GetLogger( type ); } public static ILog GetLogger( string name ) { return Adapter.GetLogger(name); } public static ILoggerFactoryAdapter Adapter = new NullLoggerFactory(); } public interface ILoggerFactoryAdapter { ILog GetLogger(Type type); ILog GetLogger(string name); } public interface ILog { void Debug(object message); void Debug(object message, Exception exception); bool IsDebugEnabled { get; } // snip } ----- Original Message ---- From: nagooc <[EMAIL PROTECTED]> To: log4net-user@logging.apache.org Sent: Wednesday, June 4, 2008 9:54:00 AM Subject: Multiple Loggers Stepping on Toes I'm working with a 3rd party component that is using Log4net. Their logger is configured programatically. My homegrown components use Log4Net as well and are configured using a seperate XML file. As soon as I access a certain line of code in the 3rd party component, my logger gets its Debug and Info logging disabled. I'm confused how this is happening. I'm getting a log by totally different name. Anyone ever see this or know how to fix it? -- View this message in context: http://www.nabble.com/Multiple-Loggers-Stepping-on-Toes-tp17647324p17647324.html Sent from the Log4net - Users mailing list archive at Nabble.com.