2017-11-20 4 views
0

私はNLogを使用しており、自分のアプリケーション用に独自のログプロバイダを作成しました。 StartUpクラスでNLogを使用して構成を設定しました。.NETコアNLogの前にBuildWebHost

ここで、Program.csがどのように見えるかを説明します。

public static void Main(string[] args) 
    { 
     var configurationDic = CreateConfigurationDictionary(); 
     // In here it can throw an exception therefore I need to be able to log here 

     var webHost = BuildWebHost(configurationDic, args); 

     var applicationLogger = webHost.Services.GetService<IMyTestLogProvider>().ApplicationLogger; 

     applicationLogger.LogInformation("*************** Start up ***************"); 

     webHost.Run(); 
    } 

ログは正常に動作しますが、メインクラスの前にログを記録する必要があります。 Webホストを構築する前に、どのようにアプリケーションロガーを取得するのですか?私は私が行うことができるはずたとえば、https://github.com/NLog/NLog.Web/wiki/Getting-started-with-ASP.NET-Core-2、見てきました

var logger = NLogBuilder.ConfigureNLog("NLog.config").GetCurrentClassLogger(); 

しかし、私のアプリケーションは、私がインストールさNLogのnugetパッケージを持っているのにNLogBuilderが何であるかを知りません。

アイデア?

敬具 ロブ

+0

は正確にあなたが*の前に何をしているNLog 5+(現在ベータ版)を使用*ログに記録する必要があり、ホストが実際に初期化するまで遅延させることができないウェブホスト?そこで起こっていることがたくさんある場合、それは* web *アプリケーションが実際に* web *アプリケーションに関連していないことを示す兆候かもしれません。 – poke

+0

通知https://www.nuget.org/packages/NLog.Web.AspNetCore/4.5.0-rc1がリリースされました。 net461のNLogBuilderを有効にする必要があります。 –

答えて

0

しかし、私のアプリケーションは、私がインストールさNLogのnugetパッケージを持っているのにNLogBuilderが何であるかを知りません。

はあなたの依存関係を確認し、あなたが必要とする:

  • NLog.Web.AspNetCore 4.5+(現在beta04)
  • NLog 4.4.12+(例えばNLog 4.5ベータ) - 無NLog 5! - あなたは、.NETの標準1を使用している場合は、.NETの標準
  • を使用していない場合は(.NETない標準2) -
関連する問題