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]
