Visual C++でスレッドセーフなメソッドを書こうとして挫折した

実行中のログを出力するメソッドを用意したのだが、わけあって複数のスレッドから同時にアクセスするケースが生じたらあっさり破綻。CSingleLockとか使ってみたけど、どうしてもうまく動かない。時間がないのでイベントログに書き出すことにした(^^;。