私は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が何であるかを知りません。
アイデア?
敬具 ロブ
は正確にあなたが*の前に何をしているNLog 5+(現在ベータ版)を使用*ログに記録する必要があり、ホストが実際に初期化するまで遅延させることができないウェブホスト?そこで起こっていることがたくさんある場合、それは* web *アプリケーションが実際に* web *アプリケーションに関連していないことを示す兆候かもしれません。 – poke
通知https://www.nuget.org/packages/NLog.Web.AspNetCore/4.5.0-rc1がリリースされました。 net461のNLogBuilderを有効にする必要があります。 –