On Fri, Jan 24, 2014 at 4:03 PM, Christian Grobmeier <grobme...@gmail.com>wrote:

> On 24 Jan 2014, at 21:55, Gary Gregory wrote:
>
>  The Level javadoc should contain this info; this can then be extracted
>> into the manual. The current javadoc is clear if terse.
>>
>
> You mean that?
> http://svn.apache.org/repos/asf/logging/log4j/log4j2/
> trunk/log4j-api/src/main/java/org/apache/logging/log4j/Level.java
>

Yes.


>
> DEBUG: A general debugging event.
> INFO: An event for informational purposes.
> TRACE: A fine-grained debug message, typically capturing the flow through
> the application.
>
> Now what is verbose for?
>

See my other email coming up.

Gary


> These are all abstract descriptions of the log levels. Users I have head
> of want to know:
>
> - what level do I log exit/entry method statements? do i log that actually?
> - what is the difference between an information statment and a debug
> statement? Both give information.
> - what the heck is verbose for, its DEBUG!
>
> and so on.
>
> I think we need more. Like:
>
> - use trace to output hex data before sending to a a service
> - use trace to log usage of methods
> - use debug to check on any calculations, when they happen
> - use debug when you set a default value
> - use info when you connect to a database
>
> and so on.
>
> Recommendations for real day scenarios.
>
> We must avoid to make our users thing (as silly as it sounds)
>
>
>> Gary
>>
>> -------- Original message --------
>> From: Paul Benedict <pbened...@apache.org>
>> Date:01/24/2014  15:47  (GMT-05:00)
>> To: Log4J Developers List <log4j-dev@logging.apache.org>
>> Subject: Re: Levels added in revision 1560602
>>
>> We should ensure that both the Javadocs and the user guide explain
>> recommended usages for these. Mailing lists are for the most die-hard
>> development fans. :-)
>>
>>
>> On Fri, Jan 24, 2014 at 2:38 PM, Gary Gregory <garydgreg...@gmail.com>
>> wrote:
>> There have been descriptions of what the levels are for... see Ralph '
>> message, many of mine and others. I know it can be tedious to go back
>> through various threads but the info is there. If you want more info, feel
>> free to ask ;)
>>
>> Gary
>>
>>
>> -------- Original message --------
>> From: Christian Grobmeier
>> Date:01/24/2014 14:20 (GMT-05:00)
>> To: Log4J Developers List
>> Subject: Re: Levels added in revision 1560602
>>
>> What I miss in this discussion are actually good examples of what the
>> (new) log levels are intended for.
>>
>> In example, Gary mentioned he is on a wireshark level with  "trace".
>> That's fine, because it would give some idea when to use verbose (maybe
>> entering method).
>>
>> Maybe I missed it when what I ask for was already written,
>> but I believe if we can give concrete example how log levels should be
>> used then we are a step further.
>>
>> I was asked quite a log what should be logged with which level.
>>
>> I think making the difference between trace and debug is already
>> difficult for a lot of users.
>> In the past two years i asked a lot of people how they log.
>>
>> The answer was: exceptions on error, the rest on debug.
>>
>> What we lack is a good recommendation how log levels should be used.
>> Something which is on our front page and which lets the "average" Java
>> programmer fully
>> understand when he uses what, and maybe even why.
>>
>> If we have something like that it is much easier to argue pro/contra
>> the new log levels.
>>
>>
>>
>>
>>
>> On 24 Jan 2014, at 18:36, Scott Deboy wrote:
>>
>>  To be fair, I think we represent a reasonable fraction of the
>>> users..some won't touch new predefined levels, some will use it -
>>> that's the reason for adding it - we hit a significant portion of use
>>> cases with small additional number of built-in levels.
>>>
>>> The two solutions don't provide the same thing, do they?  If they do,
>>> I wouldn't be pressing the issue.
>>>
>>> If there is a way for us, via annotations or whatever mechanism we
>>> define for 'custom levels', to add support easily for the newly
>>> pre-defined levels, then we should do it.
>>>
>>> Specifically, I'm ok with any mechanism (even using the new custom
>>> level mechanism, but provide by log4j itself), where log4j users are
>>> able to call:
>>>
>>> logger.notice(something);
>>>
>>> Anything else and it won't meet my expectations for usability.
>>>
>>> By the way, while we're at it, let's remove fatal.
>>>
>>> Scott
>>>
>>>
>>> On 1/24/14, 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.
>>>>
>>>>
>>>>
>>>>
>>>> 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
>>>>>
>>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
>>> For additional commands, e-mail: log4j-dev-h...@logging.apache.org
>>>
>>
>>
>> ---
>> http://www.grobmeier.de
>> The Zen Programmer: http://bit.ly/12lC6DL
>> @grobmeier
>> GPG: 0xA5CC90DB
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
>> For additional commands, e-mail: log4j-dev-h...@logging.apache.org
>>
>>
>>
>>
>> --
>> Cheers,
>> Paul
>>
>
>
> ---
> http://www.grobmeier.de
> The Zen Programmer: http://bit.ly/12lC6DL
> @grobmeier
> GPG: 0xA5CC90DB
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-dev-h...@logging.apache.org
>
>


-- 
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