>  기사  >  백엔드 개발  >  Golang을 사용하여 컨테이너 로그를 얻는 방법은 무엇입니까? (실수)

Golang을 사용하여 컨테이너 로그를 얻는 방법은 무엇입니까? (실수)

WBOY
WBOY앞으로
2024-02-08 21:09:28532검색

如何使用 Golang 获取容器日志? (错误)

php 편집기 Xigua는 Golang을 사용하여 컨테이너 로그를 얻는 방법에 대한 실용적인 가이드를 제공합니다. 컨테이너화된 애플리케이션 개발에서 로그는 문제를 신속하게 찾아 해결하는 데 도움이 되므로 매우 중요합니다. 이 기사에서는 Golang을 사용하여 코드를 작성하고, Docker API를 통해 컨테이너의 로그 정보를 얻고, 일반적인 오류를 처리하는 방법을 소개합니다. 초보자이든 숙련된 개발자이든 관계없이 이 문서에서는 Golang을 더 잘 활용하여 컨테이너 로그를 얻는 데 도움이 되는 유용한 팁과 샘플 코드를 제공합니다. 시작하자!

질문 내용


golang을 사용하여 Docker 모니터링 소프트웨어를 작성하려고 합니다.

내 코드는 다음과 같습니다:

으아악

문제는 위 코드의 실행이 fmt.println(buf.readfrom(out)) 문에서 중지된다는 것입니다. 이전에는 코드가 작동했지만 갑자기 더 이상 작동하지 않습니다. 오류 없이 중지되거나 빈 문자열을 반환합니다.

내가 로그를 수집하려는 클라이언트도 직접 작성했으며 다음과 같습니다.

으아악

변수 디버깅 및 검사를 시도했지만 문제의 원인을 찾을 수 없습니다.


해결 방법


내 가정을 확인할 수 있는 오류 로그가 없기 때문에 잘 모르겠습니다. 그런데 컨테이너 로그가 스트림(io.readcloser)을 반환할 때 스트림 자체가 닫히지 않았을 가능성이 있습니까?

가능하다면 먼저 제한 시간을 추가하고 짧은 기간마다 기록하여 이 이론을 테스트해 볼 수 있습니까?

한 가지 가능한 방법은

으아악

위 내용은 Golang을 사용하여 컨테이너 로그를 얻는 방법은 무엇입니까? (실수)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제