[ 
https://issues.apache.org/jira/browse/LOG4J2-547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13917565#comment-13917565
 ] 

Bruce Brouwer commented on LOG4J2-547:
--------------------------------------

Matt, you're going down the exact same thought-path I am. 

The way I'm looking at it, there are a number of alternate log4j interfaces 
available, some of which haven't come to light yet. There's the slf4j interface 
and the jcl interface. I'm starting to think of this streaming API in the same 
light, putting it in log4j-streaming. And I agree, my fluent api should go in 
another module: log4j-fluent.

I like keeping the Logger interface more along the lines of the "classic" log4j 
interface without adding a bunch of other methods. Because of my viewpoint, I 
would prefer having a different root class that accessed this streaming API. I 
don't have a strong preference for the actual name, I kind of like 
StreamingLogManager. This new root class would live in log4j-streaming and not 
impact the classic nature of the LogManager interface.

Is it too big of a change to introduce a new artifact this late in the game? 
Should the streaming API be pushed off to 2.1? But I like how there is general 
agreement to get it out of Logger. 

> Update LoggerStream API
> -----------------------
>
>                 Key: LOG4J2-547
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-547
>             Project: Log4j 2
>          Issue Type: Improvement
>          Components: API
>    Affects Versions: 2.0-rc1
>            Reporter: Matt Sicker
>            Assignee: Ralph Goers
>             Fix For: 2.0
>
>         Attachments: 0001-PrintStream-API-update.patch, 
> Add_caller_info_tests.patch, log4j2-loggerStream.patch
>
>
> I've got some ideas on how to improve the LoggerStream idea that I added a 
> little while ago. The main thing I'd like to do is extract an interface from 
> it, rename the default implementation to SimpleLoggerStream (part of the 
> SimpleLogger stuff), and allow log4j implementations to specify a different 
> implementation if desired.
> In doing this, I'm not sure where specifically I'd prefer the getStream 
> methods to be. Right now, it's in Logger, but really, it could be in 
> LoggerContext instead. I don't think I should be required to get a Logger 
> just to get a LoggerStream.
> Now if only the java.io package used interfaces instead of classes. This 
> would be so much easier to design!



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to