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

Thomas Neidhart commented on LOGGING-135:
-----------------------------------------

Applied first bunch of changes in r1435115:

 * SimpleLog:
 ** made fields logName and shortLogName volatile -> should become private 
final in next major version
 ** made modifiable field currentLogLevel volatile
 ** made protected static fields showLogName, showShortName, showDateTime and 
dateTimeFormat volatile -> should become private in next major version with 
static getters?

 * AvalonLogger:
 ** made static field defaultLogger volatile: there is already a static setter, 
so this should be fine

Open:

  * Log4JLogger: logger field
  * LogKitLogger: logger field

I would prefer to change the logger to a final field (Log4JLogger), always set 
the logger in the ctors and change the getLogger to just return the field. For 
LogKitLogger we can not set it final as it is a protected field, so adding 
volatile for now, and postpone for the next major version to change it to 
private.
                
> Thread-safety improvements
> --------------------------
>
>                 Key: LOGGING-135
>                 URL: https://issues.apache.org/jira/browse/LOGGING-135
>             Project: Commons Logging
>          Issue Type: Bug
>            Reporter: Sebb
>
> The LogKitLogger.logger field is not final or volatile so changes are not 
> guaranteed to be published.
> This includes calls to getLogger(), so two different threads using the same 
> instance can theoretically both create the logger.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to