On Fri, Jan 24, 2014 at 12:15 PM, Remko Popma <remko.po...@gmail.com> wrote:

> I'm not questioning your experience, and I believe you when you say that
> the proposed levels would be a perfect match for your current work
> environment.
>
> However, out of the eight people that participated in the discussion on
> adding levels, four expressed strong reservations about adding pre-defined
> levels. We are all programmers on this list. So I think we can reasonable
> assume that a large fraction of users would also not like this change.
>
> On top of that, we have a more powerful and elegant alternative solution
> that makes adding pre-defined levels unnecessary.
> Sorry, but I veto the commit.
>

ACK. Revert committed.

Gary



>
>
>
>
> On Sat, Jan 25, 2014 at 1:49 AM, Gary Gregory <garydgreg...@gmail.com>wrote:
>
>> On Thu, Jan 23, 2014 at 10:18 PM, Ralph Goers <ralph.go...@dslextreme.com
>> > wrote:
>>
>>> Gary, although Remko hasn’t said it I think he is implying that he is
>>> vetoing the code commit. Unfortunately, unless you can convince Remko
>>> otherwise you are going to have to revert the commit.
>>>
>>> Remko, if that isn’t your intention then please say so as it will save
>>> Gary a bunch of work.
>>>
>>
>> Hello, hello,
>>
>> Wow, what a pickle of religious debate this has turned into!
>>
>> Before I do indeed do more work:
>>
>>
>>>
>>>
>>
>>> Ralph
>>>
>>> On Jan 23, 2014, at 6:34 PM, Remko Popma <remko.po...@gmail.com> wrote:
>>>
>>>
>>
>> I wish you had a story of some kind to show why you are so strongly
>> opposed to the new levels. I just wonder then why you are not arguing for
>> fewer levels? Is 6 levels just the perfect number in your mind? If you
>> designed a new logging system right now in a clean room approach, what
>> would you devise?
>>
>> FWIW, I do consider Log4j2 a brand new system, granting us the freedom to
>> break APIs with version 1, which we've obviously done, but not in a way
>> that will make it too difficult to port client code. For custom appenders,
>> I've not tried to port my version 1 appenders yet...
>>
>>
>>> To clarify my position on the proposed DIAG, VERBOSE, NOTICE log levels:
>>> I don't think these levels should be added to the Log4J API.
>>> Here is my thinking:
>>>
>>> 1. The current five levels are a de facto. standard. (For example, they
>>> match the SLF4J levels.)
>>>
>>> But they do not match JUL, which is more of a standard since it is in
>> the JRE; albeit a _brain-dead_ standard; no DEBUG level JUL? Really?
>> So clearly we care about certain kinds of standard but not others.
>> Since the Slf4j author created Log4j1, I would not expect otherwise and
>> it should not make it the best solution moving forward by default.
>>
>>
>>> They are sufficient for the vast majority of log4j users. We should be
>>> hesitant to change this. My position would be to not change this unless we
>>> all think this is a really good idea. (The bar should be high for this
>>> change.)
>>>
>>> What are you afraid of? Confusing developers and users with 3 new
>> levels? Let's give them more credit than that! ;)
>>
>>
>>> 2. From a practical point of view, making. levels an Extensible Enum
>>> provides a more powerful alternative solution, making the proposed levels
>>> unnecessary.
>>> 3. From an engineering/aestical POV, I feel the proposed levels are
>>> arbitrary and the Extensible Enum solution is more elegant.
>>>
>>>
>> AGAIN, there are different features, why are they mutually exclusive?
>>
>>
>>> 4. The proposed levels are not only unnecessary, I think they are
>>> actually detrimental (for lack of a better word. I mean, not having them
>>> would be better).
>>>   The discussion in the "Web Issues, Logging Levels, and GA" thread
>>> shows how much opinions can differ about naming, strength, and intended
>>> usage, *even in our small group*. How can we predict what levels other
>>> users may want?
>>>
>>>
>> How about using your own experience as a guideline? How have the current
>> levels confused your users? Would fewer levels been better for them?
>>
>> I've creating a logging system before Log4j1 existed, ported our server
>> to Log4j1 and then extended Log4j1 for our servers and tools at work.
>> Believe you me, if I've taken the time to write the code, I will use it in
>> our apps instead of the inconsistent various workarounds that have
>> propagated in our code base. These are not "oh, these would be nice to have
>> in theory", theses are "I know I can change my code now to use the new
>> levels". Granted, I am an advanced user. But like any system, I started
>> using a few features and then more and more.
>>
>> We do use TRACE for some method entry and exit. And we use DEBUG a lot.
>> But we need a level, among other things, for wire level hex dumps in all
>> the different parts of the systems where many loggers are used. A level
>> between TRACE and DEBUG would be a perfect solution. I and others have made
>> a good case for the NOTICE level as well, which some wanted as CONFIG.
>>
>> I see the new levels as a refinement based on experience.
>>
>> Is this now a religious debate in which there is 0 chance of convincing
>> you? Or is there 1 chance?
>>
>>
>>> The proposed levels can easily confuse users or get in the way of users
>>> wanting to use these names at different strengths or with a different
>>> intended usage.
>>>
>>>
>> Whaaat? How can you presume to know users like that? Give people more
>> credit than that, we are talking about programmers here. For our end users,
>> our support folks tell them "Set the level to X and run the program, then
>> send us the log" where they use a GUI to generate log config files. Our
>> consultants (some are programmers) that go onsite, know the software and
>> what the levels mean. They and the users will be ecstatic if I say that the
>> giant logs given by DEBUG will be smaller because all the hex dumps will be
>> at the VERBOSE levels. The TRACE level is for developers debugging very low
>> level code. FWIW, we had started to use different loggers for hex dumps but
>> this was hard to enforce and harder to configure, so no more of that.
>>
>> So before I revert anything please answer these questions and try to
>> convince _me_ :)
>>
>> Alternatively, feel free to reply with "I VETO this commit" and will
>> revert the commit.
>>
>> Thank you kindly for considering these opinions,
>>
>> Gary
>>
>>
>>>
>>> The fact that changes for these levels have already been committed is
>>> IMHO not an argument in its favor. On the contrary, I was surprised at the
>>> timing of this commit: it was clear that many people were opposed to this
>>> approach. To me it was also clear that we had started exploring extensible
>>> enums as a mechanism that would allow us to *avoid* adding pre-defined
>>> levels.
>>>
>>>
>>> To repeat my position: I don't think these levels should be added to the
>>> Log4J API.
>>>
>>> Remko
>>>
>>> On Friday, January 24, 2014, Remko Popma <remko.po...@gmail.com> wrote:
>>>
>>>> I'm fine with Nick's proposal to have two separate votes.
>>>> Remko
>>>>
>>>> On Friday, January 24, 2014, Nick Williams <
>>>> nicho...@nicholaswilliams.net> wrote:
>>>>
>>>>> There has obviously been some serious discussion about these topics.
>>>>> We're not going to come to a total agreement on this. I propose:
>>>>>
>>>>> - We have a committers-only vote in the "Enums and Custom Levels"
>>>>> thread on whether to make Level an extensible enum.
>>>>> - AFTER having that vote, we have a committers-only vote in this
>>>>> thread on whether to add these three levels.
>>>>> - We only roll back this revision AFTER the second vote is complete
>>>>> and IF the vote rejects the new levels.
>>>>>
>>>>> Nick
>>>>>
>>>>> On Jan 23, 2014, at 7:58 AM, Paul Benedict wrote:
>>>>>
>>>>> On Thu, Jan 23, 2014 at 11:54 AM, Scott Deboy 
>>>>> <scott.de...@gmail.com>wrote:
>>>>>
>>>>>> We don't need to scuttle the new levels to support extensible levels.
>>>>>>
>>>>>
>>>>>
>>>>> Of course. The two things are not technically related. That's not what
>>>>> this is about, though. Since there are camps for and against the new
>>>>> levels, I was hoping the "extensible enum" feature would bring about a
>>>>> compromise.
>>>>>
>>>>>
>>>>>>
>>>>>> Gary's change is essentially a 'usability enhancement' - if anything
>>>>>> close to 80% of the folks who might want custom levels can use new
>>>>>> built-in levels, that's an API win in my book.  Custom levels help the
>>>>>> other 20%, and I'm supportive of that.
>>>>>>
>>>>>> Also please keep in mind this doesn't really add to our maintenance
>>>>>> burden, which I think may be contributing to the concern about adding
>>>>>> new levels.  Gary already did the heavy lifting, and the change to
>>>>>> something other than an enum for levels would just be a bit more work
>>>>>> because of this addition.
>>>>>>
>>>>>> Scott
>>>>>>
>>>>>> On 1/23/14, Paul Benedict <pbened...@apache.org> wrote:
>>>>>> > Let's not lose sight why the "extensible enum" discussion occurred.
>>>>>> > Speaking solely for myself, I am not fond of the new logging
>>>>>> levels; but I
>>>>>> > don't want the framework from preventing them. The intention behind
>>>>>> this
>>>>>> > proposal was to get agreement by scuttling the new levels but
>>>>>> allowing
>>>>>> > anyone to add them in their own private code.
>>>>>> >
>>>>>> >
>>>>>>
>>>>>
>>>>> Paul
>>>>>
>>>>>
>>>>>
>>>
>>
>>
>> --
>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>> Java Persistence with Hibernate, Second 
>> Edition<http://www.manning.com/bauer3/>
>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>> Spring Batch in Action <http://www.manning.com/templier/>
>> Blog: http://garygregory.wordpress.com
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
>>
>
>


-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to