ServiceStack フレームワークに基づくプロジェクトがあり、Microsoft Enterprise Library 5.0 の Logging プロバイダーを使用したいと考えています。次の手順に従いました。
(1) MS Enterprise Library 5.0 の Service Logging プロバイダーをインストールしました: Install-Package ServiceStack.Logging.EnterpriseLibrary5
(2) 内容https://github.com/ServiceStack/ServiceStack.Logging/blob/master/tests/ServiceStack.Logging.Tests/entlib5.test.configを含むファイル EntLib.Config をプロジェクトに作成しました
(3) EntLib5Factroy を使用するように LogFactory を構成したサービス アプリ ホスト:
public override void Configure(Funq.Container container)
{
LogManager.LogFactory = new EntLib5Factory(<Path-to-above-EntLib.config-file>);
SetConfig(new EndPointHostConfig(DebugMode = true });
}
アプリケーションを起動すると、次のエラーが表示されます。
「/」アプリケーションでサーバー エラーが発生しました。
DebugFormat メソッドはサポートされていません。loggingConfiguration セクションのフォーマッタを使用してログ メッセージ形式を変更します。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.NotSupportedException: DebugFormat メソッドはサポートされていません。loggingConfiguration セクションのフォーマッタを使用してログ メッセージ形式を変更します。
ソース エラー: 現在の Web 要求の実行中に未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して特定できます。
スタックトレース:
[NotSupportedException: DebugFormat メソッドはサポートされていません。loggingConfiguration セクションのフォーマッタを使用してログ メッセージのフォーマットを変更します。] ServiceStack.Logging.EntLib5.EntLib5Logger.DebugFormat(String format, Object[] args) +96 ServiceStack.WebHost.Endpoints.Support.HttpHandlerBase.ProcessRequest(HttpContext context) + 322 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +100 System.Web.HttpApplication.ExecuteStep(IExecutionStep ステップ、Boolean& completedSynchronously) +75