2017-10-27 4 views
0

私は、Azure上のAppサービスのブロブへのアプリケーションログを有効にしました。AzureアプリケーションサービスでBlobに書き込まれないASP.NETコアアプリケーションログ

  • 私はxxxxx-#####.applicationLog.csvようなファイルは、私が作成したAzureのストレージアカウント内の各時間に作成されていることを確認することができますが、このファイルは実際にはしませんAzureのポータル
  • からのログ・ストリームにログを表示することができます私のアプリケーションログが入っています
  • Webサーバーのログを同じアカウントのストレージに有効にしようとしましたが、うまくいきました - 別ファイルのHTTP要求のログを見ることができました
  • 新しいストレージアカウントを作成し、ログのためにそれには何も変わっていませんでした。

構成の詳細:上の実行時に明らかに必要である(.ConfigureLogging(log => log.AddAzureWebAppDiagnostics())

  • アプリは、私が経由Program.csログイン設定する
  • の.NET Framework 4.6.1上で実行して、ASP.NETコア2を使用しています。

要約:私のアプリケーションログを含むファイルは、Azureポータルでこのように構成した場合、Azureストレージには作成されません。

+0

参照:https://docs.microsoft.com/en-us/azure/app-service/web-sites-enable-diagnostic-log。そこにあるすべての手順を必ず実行してください。特に、設定したロギングレベルに注意してください。デフォルトは "情報"なので、 "デバッグ"をロギングしていれば、実際にログに記録されることはありません。 –

+0

ロギングレベルが詳細に設定されています。 – Zout

+0

実際にアプリケーションにどのようにログインしていますか? –

答えて

1

アプリケーションログをAzureブロブストレージに書き込む場合は、最初にアプリケーションログを有効にし、Azureポータルでアプリケーションログを設定する必要があります。

enter image description here

我々はAsp.netのコアアプリでロギングを設定するにはblogを、次のことができます。

ASP.NET Coreアプリケーションでのロギングの設定には、多くのコードは必要ありません。 ASP.NETコア新しいプロジェクトテンプレートすでにセットアップStartup.Configure方法でこのコードといくつかの基本的なロギングプロバイダ:私もそれのデモん

loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
loggerFactory.AddDebug(); 

。それは私の側で正しく動作します。

Sartup.csファイル1.In次のコードにHomeController.csのコード

private readonly ILogger _logger; 
public HomeController(ILoggerFactory loggerFactory) 
{ 
    _logger = loggerFactory.CreateLogger<HomeController>(); 
} 

public IActionResult Index() 
{ 
    _logger.LogInformation("Log information"); 
    _logger.LogError("Logger error"); 
    return View(); 
} 

enter image description here

3.Visitホーム次

loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
      loggerFactory.AddDebug(); 
      loggerFactory.AddAzureWebAppDiagnostics(
       new AzureAppServicesDiagnosticsSettings 
       { 
        OutputTemplate = "{Timestamp:yyyy-MM-dd HH:mm:ss zzz} [{Level}] {RequestId}-{SourceContext}: {Message}{NewLine}{Exception}", 

       } 
      ); 

2.addを追加/ indexページを開き、Azureストレージブロブからチェックします。ログ・ブロブ名の最後のセクション。デフォルト値は「applicationLog.txt」です。私たちはまた、それを私たちの世帯に設定することもできました。

enter image description here

+0

問題は、私が 'Startup.cs'ではなく' Program.cs'でAddAzureWebAppDiagnostics()を呼び出していたようです。私が他の.Net Core 2 App Servicesの設定をしているので、なぜこのプロジェクトがその設定で動作しなかったのか分かりませんが、うーん。ありがとう! – Zout

関連する問題