로그 스트리밍 서비스를 사용하여 실시간 애플리케이션 로깅 보기
이 단원에서는 라이브 앱 로그 스트림을 보는 방법과 웹앱 개발 중에 라이브 로그 스트림이 어떻게 도움이 되는지 살펴봅니다.
라이브 로그 스트리밍이란?
실시간 로그 스트리밍은 문제 해결을 위해 실시간 로그를 살펴보는 쉽고 효율적인 방법입니다. 라이브 로그 스트리밍은 로그를 찾아 여는 과정을 거치지 않고도 파일 시스템의 앱 로그로 전송된 모든 메시지를 빠르게 볼 수 있습니다. 라이브 로깅을 사용하려면 명령줄에서 라이브 로그 서비스에 연결하면 실시간으로 앱의 로그에 기록되는 텍스트를 볼 수 있습니다.
스트리밍 가능한 로그
로그 스트리밍 서비스는 로그 파일에 저장된 것과 동일한 정보를 볼 수 있도록 파일 시스템 로그에서 리디렉션을 추가합니다. 따라서 예를 들어 ASP.NET Windows 앱에 대한 상세 로깅을 활성화하면 라이브 로그 스트림에 기록된 모든 메시지가 표시됩니다.
실시간 로깅을 사용하는 일반 시나리오
실시간 로깅은 초기 디버깅에 적합한 도구입니다. 실시간 로그 메시지는 코드 또는 서버 문제에 대한 즉각적인 피드백을 제공합니다. 그런 다음, 앱을 변경하고 다시 배포하면 즉시 결과를 볼 수 있습니다.
라이브 로그 스트림은 단일 앱 인스턴스에 연결되므로 다중 인스턴스 앱이 있는 경우 유용하지 않습니다. 또한 실시간 로깅은 앱을 스케일 업할 때 사용이 제한됩니다. 이러한 시나리오에서는 오프라인에서 열어서 조사할 수 있는 로그 파일에 메시지를 저장하는 것이 좋습니다.
실시간 로그 스트리밍을 사용하는 방법
명령줄에서 또는 Azure Portal을 통해 직접 Cloud Shell 세션에서 실시간 로그 스트리밍을 사용하도록 설정할 수 있습니다. Azure CLI 또는 curl 명령이라는 두 가지 옵션을 사용할 수 있습니다.
Azure CLI
로그 스트림을 열려면 다음 명령을 실행합니다.
az webapp log tail --name <app name> --resource-group <resource group name>
라이브 로그 보기를 중지하려면 Ctrl+C를 누릅니다.
Curl
Curl을 사용하려면 ‘FTPS 자격 증명’이 필요합니다. 다음과 같은 두 가지 FTPS 자격 증명이 있습니다.
애플리케이션 범위. 웹앱을 배포할 때 Azure가 자동으로 사용자 이름/암호 쌍을 만들고, 각 앱은 별도의 자격 증명 세트를 갖습니다.
사용자 범위. 모든 웹앱에서 사용할 고유한 자격 증명을 만들 수 있습니다. 이미 하나 이상의 웹앱이 있는 경우 Azure portal에서 또는 Azure CLI 명령을 사용하여 이러한 자격 증명을 관리할 수 있습니다.
Azure Portal UI
Azure Portal에서 이러한 세부 정보를 보고 복사하려면 App Service 메뉴의 배포에서 배포 센터를 선택하고 FTPS 자격 증명 탭을 선택합니다.
사용자 수준 자격 증명 다시 설정
새로운 사용자 수준 자격 증명 집합을 만들려면 Cloud Shell에서 다음 명령을 실행합니다.
az webapp deployment user set --user-name <name-of-user-to create> --password <new-password>
참고
사용자 이름은 사용자의 구독 또는 디렉터리 내부는 물론이고 모든 Azure에서 전역적으로 고유해야 합니다.
자격 증명 집합을 만든 후 다음 명령을 실행하여 로그 스트림을 엽니다. 그런 다음 암호를 묻는 메시지가 나타납니다.
curl -u {username} https://{sitename}.scm.azurewebsites.net/api/logstream
활성 로그 스트림 세션을 닫으려면 Ctrl+C를 누릅니다.