Hi Martin,
Thanks very much for letting us know about this. I think you're right
about there being a thread-safety issue.
SimpleLog is definitely in use, but obviously this bug will only be
triggered under pretty rare conditions, and I expect would usually just
result in a malformed date string which may not be noticed anyway.
But it should be fixed; I'll try to do that this weekend.
Regards,
Simon
On Fri, 2006-10-06 at 17:15 +0100, Martin Wilson wrote:
> Hi,
>
> I'm not sure if anyone else uses the SimpleLog class - anyway I've
> noticed that SimpleLog.log is not thread-safe. The following code
> (starting on line 282):
>
> if(showDateTime) {
> buf.append(dateFormatter.format(new Date()));
> buf.append(" ");
> }
>
> makes an unsynchronized call to dateFormatter.format. As dateFormatter
> is an instance variable, and DateFormat.format is not thread-safe, this
> will cause problems if more than one thread tried to log at the same
> time.
>
> Solution: remove the dateFormatter instance variable and instantiate a
> new DateFormat each time in the log method, e.g.
>
> DateFormat dateFormatter = null;
> try {
> dateFormatter = new
> SimpleDateFormat(dateTimeFormat);
> }
> catch(IllegalArgumentException e) {
> dateFormatter = new
> SimpleDateFormat(DEFAULT_DATE_TIME_FORMAT);
> }
>
> Is anyone available who could make this change?
>
> Thanks,
> Martin
> ___________
>
> Martin Wilson
> [EMAIL PROTECTED]
>
> Bright Interactive: successfully delivering interactive websites and
> business applications
> <http://www.bright-interactive.com/> http://www.bright-interactive.com
> 0870 240 6520
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]