Go 用 Stackdriver Logging の設定

は、

標準のライブラリ互換ロギング パッケージを提供しています。Go 用 Stackdriver Logging ライブラリによって、Stackdriver Logging を使用するための、高レベルのレイヤが公開されます。

Go 用 Stackdriver Logging ライブラリを Compute Engine VM インスタンスで使用するために、Stackdriver Logging エージェントをインストールする必要はありません。

始める前に

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. GCP プロジェクトを選択または作成します。

    [リソースの管理] ページに移動

  3. プロジェクトに対して課金が有効になっていることを確認します。

    課金を有効にする方法について

  4. Stackdriver Logging APIを有効にする。

    Enable the API

パッケージのインストール

go get -u cloud.google.com/go/logging

Go ロガーの使用

// Sample stdlogging writes log.Logger logs to the Stackdriver Logging.
package main

import (
	"log"

	// Imports the Stackdriver Logging client package.
	"cloud.google.com/go/logging"
	"golang.org/x/net/context"
)

func main() {
	ctx := context.Background()

	// Sets your Google Cloud Platform project ID.
	projectID := "YOUR_PROJECT_ID"

	// Creates a client.
	client, err := logging.NewClient(ctx, projectID)
	if err != nil {
		log.Fatalf("Failed to create client: %v", err)
	}
	defer client.Close()

	// Sets the name of the log to write to.
	logName := "my-log"

	logger := client.Logger(logName).StandardLogger(logging.Info)

	// Logs "hello world", log entry is visible at
	// Stackdriver Logs.
	logger.Println("hello world")
}

インストールの詳細については、Go 用 Stackdriver Logging ライブラリのドキュメントをご覧ください。また、公開バグトラッカーを使用して問題を報告することもできます。

クラウド クライアント ライブラリを直接使用する

Go 用 Stackdriver Logging クラウド クライアント ライブラリを直接使用する方法の詳細については、Stackdriver Logging クライアント ライブラリをご覧参ください。

Google Cloud Platform での実行

Go 用 Stackdriver Logging ライブラリを使用するには、Google Cloud Platform で Cloud IAM ログ書き込み役割を設定する必要があります。ほとんどの Google Cloud Platform 環境で、この役割はデフォルトで付与されています。

App Engine

Google App Engine は、デフォルトでログ書き込み役割を付与します。

Go 用 Stackdriver Logging ライブラリは、明示的に認証情報を提示しなくても使用できます。

App Engine のアプリケーションでは、Stackdriver Logging が自動的に有効になります。特別な設定は必要ありません。

Kubernetes Engine

Google Kubernetes Engine では、クラスタの作成時に logging.write アクセス スコープを追加する必要があります。

gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/logging.write

Compute Engine

Google Compute Engine の VM インスタンスを使用する場合は、各インスタンスに cloud-platform アクセス スコープを追加します。Google Cloud Platform Console で新しいインスタンスを作成する場合は、[インスタンスの作成] パネルの [ID と API へのアクセス] セクションで行うことができます。Compute Engine のデフォルト サービス アカウントまたは別のサービス アカウントを使用し、[ID と API へのアクセス] セクションの [すべての Cloud API に完全アクセス権を許可] を選択します。どのサービス アカウントを選択する場合でも、GCP Console の [IAM と管理] でログ書き込み役割が付与されていることを確認してください。

ローカルやその他の場所での実行

Google Cloud Platform の外部で Go 用 Stackdriver Logging ライブラリを使用するには、GCP プロジェクト ID と適切なサービス アカウント認証情報を Go 用 Stackdriver Logging ライブラリに直接指定する必要があります。独自のワークステーション、データセンターのコンピュータ、または別のクラウド プロバイダの VM インスタンスでエージェントを実行する場合に、このことが該当します。詳細については、サービス アカウント認証情報の手動による取得と提供をご覧ください。

ログの表示

デプロイ後、GCP Console のログビューアでログを表示できます。

ログビューアに移動

詳しくは、ログの表示をご覧ください。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...