[ 
http://jira.codehaus.org/browse/MNG-2727?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=217694#action_217694
 ] 

Kristian Rosenvold edited comment on MNG-2727 at 4/12/10 1:27 PM:
------------------------------------------------------------------

I am a bit unsure of exactly which application use-case is being addressed in 
this issue;

For the current concurrency effort (MNG-3004) my current favourite strategy is 
replacing the LoggerManager with a ConcurrentLoggerManager that 
provides a MavenProject-aware proxy for the existing logger subsystem. Such a 
proxy would typically be able to collect all logger output for
the project to a single outputstream, no matter how this intertwines with other 
builds.

A rough draft of this logic can be seen in LifecycleThreadedBuilder line 164 & 
167, where the MavenProject is associated with the current thread (Code is 
commented out because the current implementation is not good enough). This 
association changes logger output, and the setThisModuleComplete releases the 
output.

I fully sense that there may be some other use cases, possibly related to 
embedding. But it seems like a solution that captures the "logical stream" that 
constitutes the output from a single build should be expandable to these 
different cases.

      was (Author: krosenvold):
    I am a bit unsure of exactly which application use-case is being addressed 
in this issue;

For the current concurrency effort (MNG-3004) my current favourite strategy is 
replacing the LoggerManager with a ConcurrentLoggerManager that 
provides a MavenProject-aware proxy for the existing logger subsystem. Such a 
proxy would typically be able to collect all logger output for
the project to a single outpustream, no matter how this intertwines with other 
builds.

A rough draft of this logic can be seen in LifecycleThreadedBuilder line 164 & 
167, where the MavenProject is associated with the current thread (Code is 
commented out because the current implementation is not good enough). This 
association changes logger output, and the setThisModuleComplete releases the 
output.

I fully sense that there may be some other use cases, possibly related to 
embedding. But it seems like a solution that captures the "logical stream" that 
constitutes the output from a single build should be expandable to these 
different cases.
  
> Fix Logging in threadsafe components
> ------------------------------------
>
>                 Key: MNG-2727
>                 URL: http://jira.codehaus.org/browse/MNG-2727
>             Project: Maven 2 & 3
>          Issue Type: Task
>          Components: Embedding
>            Reporter: Jason van Zyl
>            Assignee: Jason van Zyl
>             Fix For: 3.0-beta-2
>
>


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to