そのため、ログの目的で Common.Logging.Log4Net を使用していますが、コードがマルチスレッドであるため、メッセージが混同されることがよくあります。
スレッド 1 からのメッセージ スレッド 2 からのメッセージ スレッド 1 からのメッセージ スレッド 1 からのメッセージ スレッド 2 からのメッセージ
これを回避するために、すべてのメッセージをまとめて取得しようとしており、実行が終了したときにそれらをすべて出力します。そのために、基本的に Action デリゲートのリストがあり、それぞれにログ行が含まれています。
Log.DebugFormat("Handling...");
しかし残念ながら、これで問題が解決することはありません。なぜなら、ログに書き戻すと、リストに対して foreach を実行してデリゲートを実行するだけなので、メッセージが混在するからです。すべてのメッセージを一度に書き込む方法はありますか?