我々はCreateDefaultBuilder(args)
は多くの有用なデフォルトを持っていることを、この削除コンソールとデバッグロガーASP.NETコア2.0ではプロダクションモードで
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
を持っています。しかし、contains this:
.ConfigureLogging((context, logging) => {
logging.AddConfiguration(context.Configuration.GetSection("Logging"));
logging.AddConsole(); // HERE IS THE PROBLEM
logging.AddDebug(); // HERE IS THE PROBLEM
})
コンソールとデバッグログプロバイダは常に登録されています。
私はどのように私は本番モードで実行しているときにそれらの登録を解除/削除しますか、この
if (env.IsDevelopment())
{
// register them here
}
のようにそれらを登録するために使用? 私はロギングレベルを変更するという意味ではありません。プロダクションモードで登録する必要はありません。
'CreateDefaultBuilder'は、新しいプロジェクトをセットアップ(共通のものをたくさん集める)を容易にするために作成されました。最終2.0の前には、 'DefaultBuilder'はありませんでした。私は、あなたがリンクしたソースコードからコードをコピーし、あなた自身で変更することを提案します。私が言ったように、 'CreateDefaultBuilder'はこのステップを緩和するだけです。それが以前にどのように行われたか見てみましょう:https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/index#rely-on-application-insights-light-up-features 。よろしく。 – dime2lo
@ dime2lo私はそれをする必要はないと思っています。私は生産モードでのロギングを除いて、デフォルトに満足しています。確かに特定の登録を取り消す方法があります。 – grokky