On May 13, 2009, at 5:19 PM, Vincent Massol wrote:

> Hi,
>
> I wanted to see if we could move our LogEnabled lifecycle phase to a  
> Logging component. I think it's not going to work since this means  
> injecting a LoggingFactory/LoggingManager component and you need to  
> call getLogger(this.getClass()) to get access to the Logger which is  
> awkward.
>
> What I propose:
>
> 1) Use SLF4J (drop the slf4j-log4j jar in our WEB-INF/lib so that  
> SLF4J uses log4j by default)
> 2) Drop the JCL/JUL/LOG4j SLF4J legacy jars in our WEB-INF/lib too   
> and exclude the JCL/JUL/LOG4J jars from our poms so that all third  
> party logs go to our logging system
> 3) Non component code should use a SLF4J's LoggerFactory directly

and have a setLogger(Logger) method so that they can be unit tested  
easily.

-Vincent

>
>
> 4a) Keep LogEnabled and AbstractLogEnabled for our components
> or
> 4b) Automatically inject a Logger and a ComponentManager when there  
> are fields with these types in a component class.
>
> I like 4b) for its simplicity but I'm worried by the "magical"  
> aspect of it.
>
> WDYT?
>
> Thanks
> -Vincent
>
>
>

_______________________________________________
devs mailing list
devs@xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to