ユーザーごとに個別にログファイルを書き込もうとしています
このために、ファイル名のプロパティを現在のユーザーIDとして設定し、log4netを次のように構成しています
log4net.GlobalContext.Properties["userid"] = userId;
log4net.Config.XmlConfigurator.Configure();
これはすべて正常に機能しており、ユーザーごとに新しいログ ファイルが作成され、ユーザーによるすべてのアクティビティが個別のファイルに記録されます。
複数のユーザーが同時にサービスを要求すると問題が発生し、あるユーザーのログの一部が別のユーザー ファイルに書き込まれるため、すべてのログが同時ユーザー ファイルで混同されます。
user1 の進行中にグローバル設定が user2 によって上書きされているという理由がわかりました。そのため、設定が上書きされると、user1 は user2 のファイルにログを書き込み始めます。
私も試しlog4net.LogicalThreadContext
てみlog4net.ThreadContext
ましたが、それらも機能しませんでした。
これに対する回避策はありますか?