IMO that's the option that's most in-line w the principle-of-least-surprise, so I think that's more the way to proceed. "Surprise -- you've got logging!" isn't something that makes any sense to me :)
Steve Bohlen [email protected] http://blog.unhandled-exceptions.com http://twitter.com/sbohlen On Tue, Jan 24, 2012 at 9:12 AM, Julian Maughan <[email protected]>wrote: > 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 >>> >>> >> >
