ExtendedLog4NetLogger.cs を使用して、実行時にログ ファイルのパスを動的に変更する方法、または LoggingFacilityを使用する方法を理解しようとしています。
これは、次のように log4net を直接使用する場合と似ているはずです。
log4net.GlobalContext.Properties["ログ名"] = ログ名;
次のように log4net 統合を登録すると、どのように ExtendedLogger にアクセスできますか。
container.AddFacility<LoggingFacility>(f => f.UseLog4Net());
更新: 次のコードを使用して、拡張ロガーを登録します
container.AddFacility<LoggingFacility>(LoggerImplementation.ExtendedLog4net).WithConfig(configFile).ToLog(Logger));
ランタイム例外は発生せず、ロガーは null インスタンスではありませんが、グローバル プロパティを使用して作成されたログ ファイルがまったく表示されません。また、アペンダーの構成値を次のように設定します。
<file type="log4net.Util.PatternString" value="%property{LogName}" />
構成ファイルのファイル プロパティをフル パスに設定するだけで機能します。グローバル変数を設定する前に構成が行われているため、機能していないのではないかと思います。