On Jul 29, 2013, at 3:54 PM, Paul Benedict wrote:
> Flogger. Very nice... or painful.

Depends on your preferences I suppose. ;-)

> On Jul 29, 2013 3:48 PM, "Gary Gregory" <[email protected]> wrote:
> On Mon, Jul 29, 2013 at 4:39 PM, Nick Williams 
> <[email protected]> wrote:
> I'm working on LOG4J2-242 to add the ability to log fluently. It's going to 
> work something like this:
> 
> interface Logger:
>     + MessageBuilder trace();
>     + MessageBuilder debug();
>     + MessageBuilder info();
>     + MessageBuilder warn();
>     + MessageBuilder error();
>     + MessageBuilder fatal();
>     + MessageBuilder log(Level);
> 
> + interface MessageBuilder:
>     message(String);
>     message(Object);
>     message(String, Object...);
>     marker(Marker);
>     exception(Throwable);
>     argument(Object);
>     arguments(Object...);
>     log();
> 
> Bruce (the requester) had suggested adding the methods that return 
> MessageBuilder to a different interface (as opposed to Logger) to keep from 
> cluttering the Logger API. The way I see it our options are:
> 
> - Create a FluentLogger interface to house these methods. I don't like this 
> option because A) it complicates things significantly, B) it makes users have 
> to call a different method on LogManager (getFluentLogger) to get a 
> FluentLogger, and C) it means users have to have a Logger and a FluentLogger 
> if they want to use both APIs.
> 
> - Create a FluentLogger interface that extends Logger. This option is much 
> better. It avoids cluttering the Logger API if that's all someone wants to 
> use, it doesn't require someone to have a Logger and FluentLogger if they 
> want to use both APIs, and it doesn't complicate the implementation 
> significantly (all implementations can just implement FluentLogger). It does 
> still mean LogManager (and related classes/interfaces) need getLogger and 
> getFluentLogger methods, which I don't necessarily like.
> 
> - Just add these methods to Logger, which is what I intended to do from the 
> get-go and is what I still think is the best option.
> 
>  - and there's option 4: Don't do it.
> 
> At first glance, adding these methods to Logger looks confusing and 
> cluttered. The less messy solution seems to me FLogger extends Logger.
> 
> Gary
>  
> 
> I'm going to proceed with #3 for now, but if someone has a strong opinion 
> otherwise please voice it so that we can discuss before I complete this.
> 
> Nick
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 
> 
> 
> 
> -- 
> E-Mail: [email protected] | [email protected] 
> Java Persistence with Hibernate, Second Edition
> JUnit in Action, Second Edition
> Spring Batch in Action
> Blog: http://garygregory.wordpress.com 
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to