Nicko,

We talked about this about 2 months ago (not sure if you remember it).

First let me say that log4net is kickass and that I use it very happily.
I'm frustrated by the config stuff, though. While not a small part of
log4net, it's still semi-easy to work around and use all the rest of the
log4net goodness. I didn't mean to cast dispersions upon all of log4net
for this one lacking (besides, it's only log4net 1.x, right? You can't
expect the kitchen sink until v3).

Anyhow, back to the question.

If I recall correctly, it was impossible to create new appenders and add
them to the root or maybe remove them, something like that. Since
appenders are loaded only when a logger is first created and references
it, there was no way to add one after-the-fact. I may be slightly wrong,
but it was something around there.

Also, managing loggers wasn't straight forward; the API is designed
primarily for extensibility, not runtime management, so that made it
difficult, obviously, to manage it.

The reason I ultimately dropped it is it would take a semi- to
fully-major effort to redesign the interfaces to facilitate runtime
configuration.  The API is designed around being configured from within
rather than from without. To change it would require it to be designed
to be configured from without and the various XXXConfigurators would
merely operate on the APIs like anyone doing it manually would do.

Anyhow, it's probably something to think about for v2 or perhaps a .5
release. It's not going to change anytime soon unless a bunch of people
have a lot of free time.

-Chad

-----Original Message-----
From: Nicko Cadell [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, May 26, 2004 11:55 AM
To: 'Log4NET User'
Subject: RE: Question on SDK Classes


> The most frustrating part of this is that log4net ALMOST has 
> the ability to be programmatically configured. It's about 75% 
> the way there, but there are a few key things you cannot do 
> programmatically and so you have to give up and do the 
> file-mangling hack.
> 
> </rant>
> 
> -Chad

I hear you. What can't you do programmatically? What are the specific
use
cases?
If there is anything that we can do in the short term without breaking
the
current model then we should look at doing it. We also should plan to
improve this area in future.

Nicko


Reply via email to