ホームページ  >  記事  >  バックエンド開発  >  Golangを使用してコンテナログを取得するにはどうすればよいですか? (間違い)

Golangを使用してコンテナログを取得するにはどうすればよいですか? (間違い)

WBOY
WBOY転載
2024-02-08 21:09:28529ブラウズ

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

php エディタ Xigua は、Golang を使用してコンテナ ログを取得する方法に関する実践的なガイドを提供します。コンテナ化されたアプリケーション開発では、問題を迅速に特定して解決するのに役立つため、ログは非常に重要です。この記事では、Golang を使用してコードを記述し、Docker API を通じてコン​​テナーのログ情報を取得し、一般的なエラーを処理する方法を紹介します。初心者でも経験豊富な開発者でも、この記事では Golang をより効果的に活用してコンテナー ログを取得するのに役立つ役立つヒントとサンプル コードを提供します。始めましょう!

質問内容


golangを使ってDocker監視ソフトを書こうとしています。

私のコードは次のようになります:

リーリー

問題は、上記のコードの実行が fmt.println(buf.readfrom(out)) ステートメントで停止することです。コードは以前は機能していましたが、突然機能しなくなりました。エラーなしで停止するか、空の文字列を返します。

ログを収集しようとしているクライアントも自分で作成したもので、次のようになります:

リーリー

デバッグと変数の検査を試みましたが、問題の原因が見つかりません。


解決策


私の仮定を確認するためのエラー ログがないため、実際にはわかりません。 ただし、containerlogs がストリーム (io.readcloser) を返す場合、ストリーム自体が閉じられていない可能性はありますか?

可能であれば、最初に試行を行って、タイムアウトを追加し、短い期間ごとに記録することでこの理論をテストしていただけますか?

考えられるアプローチの 1 つは

リーリー

以上がGolangを使用してコンテナログを取得するにはどうすればよいですか? (間違い)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。