So do you mean instead of a SL we need to use something like
Environment.GetLogger<T> and Environment.GetLogger(string) (1)? I proposed
the service locator because the current usage is like this as you know:

protected static readonly ILog log =
LogManager.GetLogger(typeof(AbstractBatcher));

So instead of using this static member we are going to use (1). Is my
understanding correct ? Environment seems a better place agreed, does that
mean that we should put custom configuration for it in place ?

Also it might be valuable to have a NullLoger as default like
NullByteCodeProvider ?

On Sat, Mar 14, 2009 at 3:35 AM, Fabio Maulo <[email protected]> wrote:

> Logger should be set before any other operation (as byte code). The
> instance should be find trough Environment.
>
> 2009/3/13 Sidar Ok <[email protected]>
>
> Hi Folks,
>>
>> I know this was discussed before :
>> http://groups.google.com/group/nhibernate-development/browse_thread/thread/cdfddb3b63307dab/661d2b44a2100f9astarted
>>  by Brian Chavez.
>>
>> As far as I can see in the trunk and in JIRA, there is no patch provided
>> and it has been quite a time after the last message. Now I am willing to put
>> some work in here to provide a patch, if it is OK.
>>
>> So here is my proposal step by step, let me know if it makes sense :
>>
>> 1 - Extract a new interface, called NHibernate.Logging.ILogger . This
>> interface will abstract 2 used versions of GetLogger(Type) and
>> GetLogger(string).
>> 2 - Put this behind a service locator and change all references to logger
>> to use this service locator instead, e.g :
>> ServiceLocator.Get<NHibernate.Logging.ILogger>(typeof(PocoInstantiator))
>> 3 - Remove all the assembly dependencies to log4net from the core and move
>> it to contrib (they might stay in tests though for convenience).
>> 4 - In contrib, implement a Log4NetLoggerProvider :
>> NHibernate.Logging.ILogger that simply is a wrapper over the log4net
>> implementation.
>>
>> In contrib we can also provide wrappers for NLog or EL Logging App Block.
>> So this will be a step forward to have NH to be dependent only .NET FW by
>> eliminating a hard dependency on log4net.
>>
>> Thoughts ?
>>
>> --
>> Sidar Ok
>>
>> http://www.sidarok.com
>> http://www.twitter.com/sidarok
>>
>>
>
>
> --
> Fabio Maulo
>



-- 
Sidar Ok

http://www.sidarok.com
http://www.twitter.com/sidarok

Reply via email to