私のアプリケーションでは、Common.Loggingロギング機能を抽象化するためにライブラリを使用しています。スタートアップ アセンブリでは、ライブラリapp.configに対して機能するように (ファイル内で)構成されていました。Log4Netいくつかのアペンダが確立されています: ConsoleAppender、RollingFileAppender、TraceAppender。すべてが単一で正常に機能しAppDomainます。ただし、新しく作成された .log ではロギングが機能しないことがわかりましたAppDomain。すなわち:
Logger.Info( "Logging works here" ); // Logging works here
var appDomain = AppDomain.CreateDomain(
"AppDomain." + componentHost.FullName,
AppDomain.CurrentDomain.Evidence,
AppDomain.CurrentDomain.SetupInformation );
var proxy = (IComponentHost) appDomain.CreateInstanceAndUnwrap(
componentHost.Assembly.FullName,
componentHost.FullName,
false,
BindingFlags.Default,
null,
new object[] { },
null,
null );
proxy.Init(); // Logging does not work in Init() method stack
app.config構成とCommon.LoggingAPI (つまりメソッド)の両方を使用して解決策を見つけようとしていますLogManager.Reset()が、問題は解決しません。
Common.Logging / Log4Net新しく作成された で適切に動作させるにはどうすればよいAppDomainですか? 助けてください。