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 ChassandeBarrioz Sebastien <se...@inrialpes.fr> on 2001/04/18 09:06:16 UTC

Request

Hi

	I represent a younger open source community ( www.objectweb.org). We
would llike choose a logging product for all objectweb project. Log4j is very
interesting, but i would suggest to add a simple functionality. When you write
a program with logs, the name of the category is usually the package name or
the class name. But when many components are assembled, it's impossible to
specify a priority for the component group. I would like give the possibility to
add many names to a category with multiple heritage of priority and appender.

Rules :
I suppose 
	P1, P2, C1 are instance of Category class
with	P1 = father of C1
	P2 = father of C1

The rules to compose are : 
	C1.priority = max( P1.priority, P2.priority )
	C1.appenders = P1.appenders + P2.appenders

Example :
P1 = Category.getInstance("aaa.bbb")
P2 = Category.getInstance("zzz.yyy")
C1 = Category.getInstance("aaa.bbb.ccc")
C1.addName("zzz.yyy.xxx");
=> The C1 Category herits of priority of P1 and P2
=> The C1 Category herits of appender of P1 and P2

Is this problem already studied by a log4j developper ?


Best regards

Seb
-- 
Chassande-Barrioz Sebastien
Engineer - INRIALPES - SIRAC/SACRES Team
Mail job : sebastien.chassande@inrialpes.fr

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


Re: Request

Posted by Ceki Gülcü <cg...@qos.ch>.
At 09:06 18.04.2001 +0200, ChassandeBarrioz Sebastien wrote:
>Hi
>
>        I represent a younger open source community ( www.objectweb.org). We
>would llike choose a logging product for all objectweb project. Log4j is very
>interesting, but i would suggest to add a simple functionality. When you write
>a program with logs, the name of the category is usually the package name or
>the class name. But when many components are assembled, it's impossible to
>specify a priority for the component group. I would like give the possibility to
>add many names to a category with multiple heritage of priority and appender.
>
>Rules :
>I suppose 
>        P1, P2, C1 are instance of Category class
>with    P1 = father of C1
>        P2 = father of C1
>
>The rules to compose are : 
>        C1.priority = max( P1.priority, P2.priority )
>        C1.appenders = P1.appenders + P2.appenders
>
>Example :
>P1 = Category.getInstance("aaa.bbb")
>P2 = Category.getInstance("zzz.yyy")
>C1 = Category.getInstance("aaa.bbb.ccc")
>C1.addName("zzz.yyy.xxx");
>=> The C1 Category herits of priority of P1 and P2
>=> The C1 Category herits of appender of P1 and P2
>
>Is this problem already studied by a log4j developper ?

This is something that the first ancestor of log4j, then used in E.U. Semper project, had. It turned out that no one used this feature. Having said that I personally think that the suggestion is extremely interesting. I also like the addName() method. There are multiple issues with multiple inheritance:

1) Why choose the C1.priority = max( P1.priority, P2.priority) instead of 
   C1.priority = min( P1.priority, P2.priority). The latter will generate more verbose output whereas the former will     tend hush up things. What made you choose the max rule instead of the min rule for the priority inheritance? 

2) There are serious synchronization issues involved. More importantly the hierarchy walk will increase linearly with the number of parents. Moreover, since the number of parents is not known in advance they have to be stored in a vector which will increase walk time significantly even if there is a single parent. This can be alleviated if do not store the first parent in a vector but as a separate field.

3) The rules of the game become increasingly complicated. This will make it harder for people to learn and use log4j.

Otherwise, as I said, the suggestion is very interesting. I also appreciate the clear presentation of your idea. Best regards, Ceki 


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