On Mon, Sep 24, 2012 at 6:06 PM, Ralph Goers <ralph.go...@dslextreme.com>wrote:

> See 
> http://docs.oracle.com/javase/6/docs/api/java/util/logging/Logger.html#throwing(java.lang.String,
> java.lang.String, java.lang.Throwable) as this is where these names
> originated from.  Logback has variations on these at
> http://www.slf4j.org/apidocs/org/slf4j/ext/XLogger.html#catching(java.lang.Throwable).
>  So to make implementing compatibility with these easy it is better to have
> them.  Furthermore, many of my colleagues like using these methods as they
> seem to be intuitively obvious as to why they are there, so I am inclined
> to keep them.
>
> It has already been reported that the documentation says the default
> method is logging at Debug while the documentation says it is Error and I
> will fix that.
>

Thank you for the history Ralph. I still do not like it ;) but I understand
it.

Gary

>
> Ralph
>
>
>
>
> On Sep 24, 2012, at 2:36 PM, Gary Gregory wrote:
>
> Hi All:
>
> I've started porting a project from 1.2.16 to 2.0.
>
> I find the Logger.catching() API name to be rather poor. I can't recall
> seeing APIs that say do-"ing" something. APIs usually just "do". IMO, the
> fact that the API was can be called from a catch clause should not create
> the need to call the API catching.
>
> So, "log" would be better IMO, because the /Logger/ logs the exception.
> The Javadoc is lacking here, what level is used?
>
> One way I like to think about API names and Javadoc is to see how they
> both read. I assume we are all using the active voice pattern for Javadoc
> of course ;) I like it when I see, for example, an API called runFast() and
> the Javadoc says "Runs fast.".
>
> Which is why the catching() name is that much the lamer ;) IMO.
>
> Tangent:
>
> This is further (slightly) confusing because there are FATAL, ERROR, DEBUG
> (and so on) Levels which match up with fatal(), error() and debug()
> methods. There is no CATCHING level of course ;)
>
> Which brings up the bigger issue of API names and what the proper name
> should be. Usually, APIs /do/ something, using a verb, like log() or
> warn(). An better active verb API would be inform() for INFO. Luckily we do
> have already warn() for WARN, debug() for DEBUG, trace() for TRACE. Where
> there is no great choice is for FATAL, where we have fatal() today. So we
> are just lucky that all levels except INFO and FATAL match up with
> verbs.The flip side is that it having API names match the level names
> follows he KISS principle :) which, in the end, I like better in this case.
>
> Gary
>
> --
> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> JUnit in Action, 2nd Ed: <http://goog_1249600977/>http://bit.ly/ECvg0
> Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>
>
>


-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
JUnit in Action, 2nd Ed: <http://goog_1249600977>http://bit.ly/ECvg0
Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to