sharedLog is thread-safe, it has to be considered
that the returned reference is only a current snapshot and in the following code, you must make sure no other thread reassigns to it between reading and writing sharedLog.
sharedLog is only thread-safe if the used Logger is thread-safe. The default Logger is thread-safe. ------------- if (sharedLog !is myLogger) sharedLog = new shared myLogger; -------------