You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by Curt Arnold <ca...@apache.org> on 2010/05/30 05:23:51 UTC

log4j2 sandbox

Moved some stuff around in the log4j2 sandbox at http://svn.apache.org/repos/asf/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL.

I fixed the test failures in the 2007 and 2008 vintage code.  The were test utility problems that had previously affected log4j 1.2 but were not addressed in this code.

I moved log4j-core (my old 2007-2008 vintage code) into the 2008 subproject.  I expect to mine it for additional classes, but do not anticipate any additional development within the direction.

The carnold subproject tries to extract some of the good parts of the 2007-2008 project.   log4j2-api is problem misnamed, it is not intended to be what a client sees but what the backend classes would see of an event.  Many of the classes were copied in directly from the 2007-2008 project.
  
I added a quick outline of what i think Appender, Destination (what makes a file appender a file appender vs a socket appender), Filter and Logger.

log4j2-attrs are the annotation classes used in the earlier 2007-2008 stuff.  May or may not use them or may use more widespread annotations, but wanted to have a place for them when I start mining some of the implementation classes out.

Feel free to comment either inline in the code (ideally with @doubt, @issue or @compare), or on the mailing list.

Will likely add an UnrecoverableLoggingException to indicate that an destination is permanently down.
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org


Re: log4j2 sandbox

Posted by Ralph Goers <ra...@dslextreme.com>.
I plan to keep on editing my version based on feedback. I suspect Curt is planning on doing the same.  I think the hope is that by having alternative code bases that work that they will a) naturally converge on a common set of ideas or b) contributors will weigh in on which codebase they find more appealing.  I don't view this as a competition but as simply a way of expressing our ideas rather than just writing stuff in Jira or on a Wiki.

The point is well taken that at some point we will have to make a decision. I just don't think we are close to that yet.

Ralph

On May 31, 2010, at 5:41 AM, Christian Grobmeier wrote:

> I just digged a little bit around the code. Besides the projects
> mentioned below there is ralphs stuff. How is it planned to put it all
> together?
> 
> 
> 
> On Sun, May 30, 2010 at 5:23 AM, Curt Arnold <ca...@apache.org> wrote:
>> Moved some stuff around in the log4j2 sandbox at http://svn.apache.org/repos/asf/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL.
>> 
>> I fixed the test failures in the 2007 and 2008 vintage code.  The were test utility problems that had previously affected log4j 1.2 but were not addressed in this code.
>> 
>> I moved log4j-core (my old 2007-2008 vintage code) into the 2008 subproject.  I expect to mine it for additional classes, but do not anticipate any additional development within the direction.
>> 
>> The carnold subproject tries to extract some of the good parts of the 2007-2008 project.   log4j2-api is problem misnamed, it is not intended to be what a client sees but what the backend classes would see of an event.  Many of the classes were copied in directly from the 2007-2008 project.
>> 
>> I added a quick outline of what i think Appender, Destination (what makes a file appender a file appender vs a socket appender), Filter and Logger.
>> 
>> log4j2-attrs are the annotation classes used in the earlier 2007-2008 stuff.  May or may not use them or may use more widespread annotations, but wanted to have a place for them when I start mining some of the implementation classes out.
>> 
>> Feel free to comment either inline in the code (ideally with @doubt, @issue or @compare), or on the mailing list.
>> 
>> Will likely add an UnrecoverableLoggingException to indicate that an destination is permanently down.
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
>> For additional commands, e-mail: log4j-dev-help@logging.apache.org
>> 
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-dev-help@logging.apache.org
> 


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


Re: log4j2 sandbox

Posted by Ralph Goers <ra...@dslextreme.com>.
From that description our approaches have indeed been complimentary.  I saw problems in the fundamental core of Log4j and SLF4J/Logback that are in the API, configuration and filtering.  I've always considered the Appender and Layout concepts to be more or less OK, except how they were infringed upon by the core (i.e. callAppenders is synchronized).  The only significant impact my changes have made to those areas was to make the converters pluggable - PatternLayout does not need to be modified to add new ones.  The work done on EnhancedPatternLayout was essential to be able to do that.

I believe we both have agreement that the API should be separate from the implementation. I'm not sure we completely agree on what it should look like.  To be honest, I'm still not completely happy with it as I'd like to see an annotation/AOP way of injecting logging wherever possible.

If there is a plan it is for Curt and me to continue working on our forks while reviewing each others code. Hopefully he will borrow from my code base and I from his.  I'm also hoping others will join in and contribute.

Ralph



On May 31, 2010, at 8:33 AM, Curt Arnold wrote:

> 
> On May 31, 2010, at 7:41 AM, Christian Grobmeier wrote:
> 
>> I just digged a little bit around the code. Besides the projects
>> mentioned below there is ralphs stuff. How is it planned to put it all
>> together?
>> 
> 
> You think we have a plan?
> 
> Ralph and I are going in two different, but hopefully eventually complementary directions.
> 
> My tack was to start with the backend classes like layouts and appenders and provide a framework which makes them independent of the logging API in use and designed for concurrency.  I started in 2007 and 2008 with the pattern layout.  That went dormant due to other demands and lack of participation.  There were a lot of ideas that I liked that were either in the code or in the code that I was going to write next and I've been trying to mine the old project and fill in gaps that had been rattling around in my mind to hopefully come up with something reasonably fleshed out.
> 
> The approach with commons-logging and SLF4J was to unify on the API.  I was taking the approach of enabling unification at the back end, basically, have appenders that can process logging events originating from multiple API's.
> 
> Once the back end classes were established, they could be plugged into the existing frameworks for testing and we could work on establishing a client facing API designed with the same principles.
> 
> Ralph's approach has been broader, trying to design the whole framework simultaneously.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-dev-help@logging.apache.org
> 


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


Re: log4j2 sandbox

Posted by Curt Arnold <ca...@apache.org>.
On May 31, 2010, at 7:41 AM, Christian Grobmeier wrote:

> I just digged a little bit around the code. Besides the projects
> mentioned below there is ralphs stuff. How is it planned to put it all
> together?
> 

You think we have a plan?

Ralph and I are going in two different, but hopefully eventually complementary directions.

My tack was to start with the backend classes like layouts and appenders and provide a framework which makes them independent of the logging API in use and designed for concurrency.  I started in 2007 and 2008 with the pattern layout.  That went dormant due to other demands and lack of participation.  There were a lot of ideas that I liked that were either in the code or in the code that I was going to write next and I've been trying to mine the old project and fill in gaps that had been rattling around in my mind to hopefully come up with something reasonably fleshed out.

The approach with commons-logging and SLF4J was to unify on the API.  I was taking the approach of enabling unification at the back end, basically, have appenders that can process logging events originating from multiple API's.

Once the back end classes were established, they could be plugged into the existing frameworks for testing and we could work on establishing a client facing API designed with the same principles.

Ralph's approach has been broader, trying to design the whole framework simultaneously.


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


Re: log4j2 sandbox

Posted by Christian Grobmeier <gr...@gmail.com>.
I just digged a little bit around the code. Besides the projects
mentioned below there is ralphs stuff. How is it planned to put it all
together?



On Sun, May 30, 2010 at 5:23 AM, Curt Arnold <ca...@apache.org> wrote:
> Moved some stuff around in the log4j2 sandbox at http://svn.apache.org/repos/asf/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL.
>
> I fixed the test failures in the 2007 and 2008 vintage code.  The were test utility problems that had previously affected log4j 1.2 but were not addressed in this code.
>
> I moved log4j-core (my old 2007-2008 vintage code) into the 2008 subproject.  I expect to mine it for additional classes, but do not anticipate any additional development within the direction.
>
> The carnold subproject tries to extract some of the good parts of the 2007-2008 project.   log4j2-api is problem misnamed, it is not intended to be what a client sees but what the backend classes would see of an event.  Many of the classes were copied in directly from the 2007-2008 project.
>
> I added a quick outline of what i think Appender, Destination (what makes a file appender a file appender vs a socket appender), Filter and Logger.
>
> log4j2-attrs are the annotation classes used in the earlier 2007-2008 stuff.  May or may not use them or may use more widespread annotations, but wanted to have a place for them when I start mining some of the implementation classes out.
>
> Feel free to comment either inline in the code (ideally with @doubt, @issue or @compare), or on the mailing list.
>
> Will likely add an UnrecoverableLoggingException to indicate that an destination is permanently down.
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-dev-help@logging.apache.org
>
>

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