Azure WebApp 및 로그

Azure WebApp 및 로그



ASP.NET Core 로그를 Azure WebApp에 출력하는 메모입니다.

ASP.NET Core 공식 매뉴얼 에 순서가 쓰여져 있지만, 생각대로 가지 않으므로 검증해 보았다.

검증



환경


  • Azure WebApp (Windows)
  • ASP.NET Core 2.1 MVC 응용 프로그램
  • 배포는 Azure WebApp GitHub에서 배포

  • 결과



    파일 시스템의 응용 프로그램 로깅을 사용하도록 설정하고 세부 수준에서 로그를 출력합니다.



    웹 앱을 다시 로드해도 로그가 출력되지 않았습니다.



    공식 설명서대로 Microsoft.Extensions.Logging.AzureAppServices 패키지를 추가하고 다음 코드를 추가합니다.
    return WebHost.CreateDefaultBuilder(args)
        .ConfigureLogging(logging => logging.AddAzureWebAppDiagnostics())
        .UseStartup<Startup>();
    

    이제 다시로드하면 로그가 출력됩니다!



    공식 매뉴얼대로의 결과가 되었습니다.

    결과(Linux)



    실은 저는 Web App (Linux)를 사용하고 있었군요. 좀처럼 공식 매뉴얼대로 되지 않는다. 시험에 Web App(Windows)을 사용하면 공식 매뉴얼대로 되었습니다.

    어디가 다른가 하면... logging.AddAzureWebAppDiagnostics() 를 쓰지 않아도 로그가 출력되는군요.

    Web App(Linux)은 Docker 스택이 아니더라도 Docker 컨테이너에서 실행됩니다. (확실히) Web App (Linux)의 App Service 로그는 Docker 컨테이너의 STDOUT/STDERR이 출력되기 때문에 추가 코드는 필요하지 않습니다.
  • Microsoft.Extensions.Logging.AzureAppServices 패키지 필요 없음
  • Azure 설정에서 로그 수준을 변경할 수 없습니다.

    라는 것입니다.

    로그 설정 화면도 Web App(Windows)과 다릅니다.



    결론


    logging.AddAzureWebAppDiagnostics() 는 Web App (Linux) 에서는 의미는 없지만, 써서 곤란한 것은 별로 없다고 생각하므로 우선 써 둡시다.

    어쩐지 말해, Web App (Windows) 쪽이 사용하기 쉽네요.
  • 좋은 웹페이지 즐겨찾기