2017-02-09 2 views
0

Azure AppService 배포에서 6 개의 인스턴스로 수평 확장 된 WebAPI 응용 프로그램을 실행했습니다.Azure AppService : 모든 확장 된 시스템에서 로그에 액세스

우리의 WebAPI 응용 프로그램은 NLog와 File appender를 사용하여 진단 로그를 씁니다. Azure Portal 또는 Kudu를 통해 이러한 로그 파일을 검사 할 수 있습니까?

Kudu는 샌드 박스의 파일 시스템에 액세스 할 수 있지만 응용 프로그램이 6 개의 인스턴스로 확장되면 샌드 박스가 첫 번째 인스턴스 만보고있는 것으로 보입니다.

다른 5 개의 인스턴스에서 로그 파일에 액세스 할 수있는 방법이 있습니까?

+0

가 실제로 앱 서비스 그래서 모든 인스턴스가 본질적으로 동일한 스토리지를 볼 파일을 공유 저장소를 사용 PROCESSID하는 로그 이름을 구성 할 수 있습니다. 다른 인스턴스에서 볼 수없는 파일을 쓰고 있습니까? – juunas

+0

이 코드는 bin 폴더의 형제 인 "로그"하위 폴더에 로그 파일을 내보내는 것으로 알고 있습니다. 콘텐츠가 포함되어 있으며 API 요청이 많을수록 관련성이 있습니다. "하나 "(Kudu/DebugConsole에서 다운로드 한 파일)은 실제로 6 개의 모든 인스턴스에서 통합 된 컨텐츠를 포함하고있는 파일입니까? –

답변

1

다른 5 개의 인스턴스에서 로그 파일에 액세스 할 수있는 방법이 있습니까?

모든 인스턴스에 대해 로그 파일 경로가 공유됩니다. 자세한 내용은 Azure WebApp SandBoxAzure WebApp File Access을 참조하십시오.

모든 Azure Web App에는 Azure 저장소에 저장/백업 된 홈 디렉토리가 있습니다. 이 네트워크 공유는 응용 프로그램이 콘텐츠를 저장하는 곳입니다. 모든 인스턴스가 동일한 디렉토리를 볼 수 있도록 모든 인스턴스가 홈 디렉토리를 공유합니다.

+0

이것은 옳습니다. 멋진 점은 NLog'logger'를' System.Diagnostics.Trace' (예 :'') NLog 로그 출력이 로그 스트림에 표시 될 수 있음 하나의 로그에 모든 시스템의 로그 메시지가 표시됩니다. 흐름. –

1

정확한 이유 때문에 NLog에서 벗어났습니다. Azure는 기본 .Net Trace를 사용하여 Azure 저장소에 로깅을 기본적으로 지원하므로 인스턴스 당 저장소에 모든 로그가 저장됩니다. 당신이 정말로 NLog가 유지하려면

, 당신은 $ {컴퓨터 이름}을 포함하거나

관련 문제