I believe the pull request will cause NH to behave as follows: If no logger
is configured and the user happens to have log4net in their GAC, log4net
will be used. As no config is provided, nothing will actually be logged
anywhere, but personally I think this invites trouble - and goes against
the principle of least surprise.

It wouldn't take much to change this behaviour to be as Fabio describes, no
logger configured == no logging (i.e. use the NoLoggingLoggerFactory).

On 24 January 2012 21:39, Stephen Bohlen <[email protected]> wrote:

> I tend to agree.  Then this is this the most explicit way to achieve that
> --?
>
>
> If we want, I guess we could make even log4net require explicit
>> activation using the "nhibernate-logger" appsetting. Then you would
>> never get any logging unless you provide a "nhibernate-logger"
>> setting.
>>
>
> Steve Bohlen
> [email protected]
> http://blog.unhandled-exceptions.com
> http://twitter.com/sbohlen
>
>
> On Tue, Jan 24, 2012 at 8:33 AM, Fabio Maulo <[email protected]> wrote:
>
>> IMO
>> If a guy need a logging system for NH he should configure it.
>> No configuration = no logging.
>>
>>
>> On Tue, Jan 24, 2012 at 10:19 AM, Stephen Bohlen <[email protected]>wrote:
>>
>>> If that's true then I think this is probably fine to proceed with.  The
>>> only negative I could see in this scenario is that someone would be
>>> 'wasting' time and memory resolving and loading log4net.dll when they don't
>>> want/need it.  This seems a micro-optimization and so long as anyone who
>>> *really* cares can configure this problem away by explicitly selecting the
>>> NoLoggingLogger, it seems fine to me.  If we do make this change, then I'd
>>> also recommend that we make it obvious what's going on (in release notes
>>> and/or documentation) so that nobody is surprised by the (possibly) new
>>> behavior of their app.
>>>
>>>
>>> Steve Bohlen
>>> [email protected]
>>> http://blog.unhandled-exceptions.com
>>> http://twitter.com/sbohlen
>>>
>>>
>>> On Tue, Jan 24, 2012 at 8:13 AM, Richard Brown (gmail) <
>>> [email protected]> wrote:
>>>
>>>>   That’s my understanding.
>>>>
>>>> Also (as mentioned in the JIRA comments), unless you actually had a
>>>> log4net config section defining appenders, your not going to get any log
>>>> messages you weren’t expecting (I don’t think).
>>>>
>>>>
>>>>   *From:* Stephen Bohlen <[email protected]>
>>>> *Sent:* Tuesday, January 24, 2012 1:07 PM
>>>> *To:* [email protected]
>>>> *Subject:* Re: [nhibernate-development] Regarding NH-2821 - better way
>>>> of finding log4net
>>>>  So under this proposed change if Log4Net was in the GAC but you
>>>> didn't want any logging you would have to explicitly configure NH for the
>>>> NoLoggingLogger, is that right?
>>>>
>>>> Steve Bohlen
>>>> [email protected]
>>>> http://blog.unhandled-exceptions.com
>>>> http://twitter.com/sbohlen
>>>>
>>>>
>>>> On Tue, Jan 24, 2012 at 8:03 AM, Richard Brown (gmail) <
>>>> [email protected]> wrote:
>>>>
>>>>>   I think it still won’t be required, it’s just that it will now be
>>>>> located if it’s in the GAC?
>>>>>
>>>>> Sounds ok to me as long as it still reverts to the NoLoggingLogger
>>>>> when log4net isn’t in the deploy folder or the GAC.
>>>>>
>>>>>   *From:* Fabio Maulo <[email protected]>
>>>>> *Sent:* Tuesday, January 24, 2012 2:00 AM
>>>>> *To:* [email protected]
>>>>> *Subject:* Re: [nhibernate-development] Regarding NH-2821 - better
>>>>> way of finding log4net
>>>>>   If no logging system is configured and there isn't log4net in the
>>>>> deploy folder the NoLoggingLogger is used..
>>>>> In practice log4net should always not to be required
>>>>>
>>>>> On Mon, Jan 23, 2012 at 7:03 PM, Oskar Berggren <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> A pull request was submitted last year that delegates finding log4net
>>>>>> to .Net.
>>>>>>
>>>>>> https://github.com/nhibernate/nhibernate-core/pull/15
>>>>>>
>>>>>> It was not merged at the time because there was some compatibility
>>>>>> concerns since if log4net was installed in the GAC, NHibernate would
>>>>>> now suddenly find this. Someone mentioned delaying it until the next
>>>>>> major version.
>>>>>>
>>>>>> Since we are now aiming for 3.3, perhaps we should try to make a
>>>>>> decision on this.
>>>>>>
>>>>>>
>>>>>> Since we are only trying to load log4net if no other logging framework
>>>>>> has been configured, I think the proposed change would be ok. Also,
>>>>>> before the introduction of the logging abstraction, log4net would
>>>>>> always be loaded even when not configured.
>>>>>>
>>>>>>
>>>>>> /Oskar
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Fabio Maulo
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>>
>> --
>> Fabio Maulo
>>
>>
>

Reply via email to