This page shows how to get started with the Cloud Client Libraries for the Cloud Logging API. Read more about the client libraries for Cloud APIs, including the older Google API Client Libraries, in Client Libraries Explained.
Cloud Logging client libraries are idiomatic interfaces around the API. Client libraries provide an integration option with Logging, in addition to the Logging agent available by default in most Google Cloud services. To learn more about setting up Logging using a language runtime, see Setting up Language Runtimes.
If you use Android, we recommend that you use Firebase for logging. For more information, see Write and view logs.
Installing the client library
C#
For more information, see Setting Up a C# Development Environment.
dotnet add package Google.Cloud.Logging.V2
Go
For more information, see Setting Up a Go Development Environment.
go get cloud.google.com/go/logging
Java
For more information, see Setting Up a Java Development Environment.
If you are using Maven with
a BOM, add the following to your pom.xml
file:
If you are using Maven without a BOM, add this to your dependencies:
If you are using Gradle, add the following to your dependencies:
If you are using sbt, add the following to your dependencies:
If you're using Visual Studio Code, IntelliJ, or Eclipse, you can add client libraries to your project using the following IDE plugins:
The plugins provide additional functionality, such as key management for service accounts. Refer to each plugin's documentation for details.
Node.js
For more information, see Setting Up a Node.js Development Environment.
npm install --save @google-cloud/logging
PHP
For more information, see Using PHP on Google Cloud.
composer require google/cloud-logging
Python
For more information, see Setting Up a Python Development Environment.
pip install --upgrade google-cloud-loggingInstall the
google-cloud-logging
library, not an explicitly versioned library.
Ruby
For more information, see Setting Up a Ruby Development Environment.
gem install google-cloud-logging
Setting up authentication
To run the client library, you must first set up authentication. One way to do that is to create a service account and set an environment variable, as shown in the following steps. For other ways to authenticate, see Authenticating as a service account.
Create a service account:
In the Google Cloud console, go to the Create service account page.
In the Service account name field, enter a name. The Google Cloud console fills
in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
To provide access to your project, grant the following role(s) to your
service account: Project > Owner.
In the Select a role list, select a role.
For additional roles, click
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
Create a service account key:
Console
Service account for quickstart
.
Set up authentication:
Create the service account:
Replace
Grant roles to the service account. Run the following command once for each of the
following IAM roles:
Replace the following:
Generate the key file:
Replace the following:
gcloud
gcloud iam service-accounts create NAME
NAME
with a name for the service account.
roles/owner
:
gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE
SERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service accountROLE
: the role to grantgcloud iam service-accounts keys create FILE_NAME.json --iam-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
FILE_NAME
: a name for the key fileSERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service account
Provide authentication credentials to your application code by setting the
environment variable GOOGLE_APPLICATION_CREDENTIALS
. This
variable applies only to your current shell session. If you want the variable
to apply to future shell sessions, set the variable in your shell startup file,
for example in the ~/.bashrc
or ~/.profile
file.
Linux or macOS
export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Replace KEY_PATH
with the path of the JSON file that contains your service account key.
For example:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"
Windows
For PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Replace KEY_PATH
with the path of the JSON file that contains your service account key.
For example:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"
For command prompt:
set GOOGLE_APPLICATION_CREDENTIALS=KEY_PATH
Replace KEY_PATH
with the path of the JSON file that contains your service account key.
Using the client library
The following example shows how to use the client library.
C#
To learn how to install and use the client library for Logging, see Logging client libraries.
Go
To learn how to install and use the client library for Logging, see Logging client libraries.
Java
To learn how to install and use the client library for Logging, see Logging client libraries.
Node.js
To learn how to install and use the client library for Logging, see Logging client libraries.
PHP
To learn how to install and use the client library for Logging, see Logging client libraries.
Python
To learn how to install and use the client library for Logging, see Logging client libraries.
Ruby
To learn how to install and use the client library for Logging, see Logging client libraries.
The following sections provide additional code samples for writing and managing logs in Logging. As some features are omitted, the language documentation for each library is the authoritative reference.
Log entries
Logs consist of individual log entries
in structured format, with fields like
resource
, sourceLocation
, labels
, and trace
that give additional
context to each log. For more information about log entries, see
Basic concepts.
Write structured logs
This sample demonstrates writing log entries.
C#
To learn how to install and use the client library for Logging, see Logging client libraries.
Go
To learn how to install and use the client library for Logging, see Logging client libraries.
For step-by-step guidance on running this code directly in Cloud Shell Editor:
Click Guide me.
You see a panel Learn. Click Start to follow the tutorial.
Java
To learn how to install and use the client library for Logging, see Logging client libraries.
For step-by-step guidance on running this code directly in Cloud Shell Editor:
Click Guide me.
You see a panel Learn. Click Start to follow the tutorial.
Node.js
To learn how to install and use the client library for Logging, see Logging client libraries.
For step-by-step guidance on running this code directly in Cloud Shell Editor:
Click Guide me.
You see a panel Learn. Click Start to follow the tutorial.
PHP
To learn how to install and use the client library for Logging, see Logging client libraries.
Python
To learn how to install and use the client library for Logging, see Logging client libraries.
For step-by-step guidance on running this code directly in Cloud Shell Editor:
Click Guide me.
You see a panel Learn. Click Start to follow the tutorial.
Ruby
To learn how to install and use the client library for Logging, see Logging client libraries.
Write standard logs
Some libraries support writing structured logs using the standard library logging syntax native to the language. This example demonstrates how to reconfigure the standard log-writing interface to write to Cloud Logging.
Go
To learn how to install and use the client library for Logging, see Logging client libraries.
Python
To learn how to install and use the client library for Logging, see Logging client libraries.
Write request logs
This sample demonstrates logging a supported HttpRequest datatype to Logging.
Go
To learn how to install and use the client library for Logging, see Logging client libraries.
Java
To learn how to install and use the client library for Logging, see Logging client libraries.
Node.js
To learn how to install and use the client library for Logging, see Logging client libraries.
List log entries
This sample demonstrates listing the log entries of a given logger. The log
names returned are in resource format; they are URL-encoded and the log names
are prefixed by /projects/PROJECT_ID/logs/
.
C#
To learn how to install and use the client library for Logging, see Logging client libraries.
Go
To learn how to install and use the client library for Logging, see Logging client libraries.
Java
To learn how to install and use the client library for Logging, see Logging client libraries.
Node.js
To learn how to install and use the client library for Logging, see Logging client libraries.
PHP
To learn how to install and use the client library for Logging, see Logging client libraries.
Python
To learn how to install and use the client library for Logging, see Logging client libraries.
Ruby
To learn how to install and use the client library for Logging, see Logging client libraries.
There are also other ways to view your log entries in Logging:
- To read log entries using the Google Cloud console, see Using the Logs Explorer.
- To read log entries through the Logging API, see the
entries.list
method. - To read log entries using the Google Cloud CLI, see Reading log entries.
Tail log entries
Live tailing lets you view your log entries in real time as Cloud Logging writes them. For information on the API method for live tailing, see the entries.tail method.
This sample demonstrates live tailing log entries of a given logger.
Go
To learn how to install and use the client library for Logging, see Logging client libraries.
Java
To learn how to install and use the client library for Logging, see Logging client libraries.
Node.js
To learn how to install and use the client library for Logging, see Logging client libraries.
Logs
A log, also called a log stream, is the set of log entries that have the same
full resource name. The full resource name is equivalent to the LogName
field
in the LogEntry
. For more
information about logs, see Available Logs
and Basic concepts.
List logs
This example demonstrates listing the names of available Logs.
Node.js
To learn how to install and use the client library for Logging, see Logging client libraries.
Java
To learn how to install and use the client library for Logging, see Logging client libraries.
Delete a log
This example demonstrates deleting a log by deleting all its entries. A log with no entries does not appear in the list of Cloud project logs. Log entries can be explicitly deleted, or they can expire according to the Logging retention policy. If you write new log entries, Logging ingests them.
C#
To learn how to install and use the client library for Logging, see Logging client libraries.
Go
To learn how to install and use the client library for Logging, see Logging client libraries.
Java
To learn how to install and use the client library for Logging, see Logging client libraries.
Node.js
To learn how to install and use the client library for Logging, see Logging client libraries.
PHP
To learn how to install and use the client library for Logging, see Logging client libraries.
Python
To learn how to install and use the client library for Logging, see Logging client libraries.
Ruby
To learn how to install and use the client library for Logging, see Logging client libraries.
Log Sinks
You route logs by creating sinks that send certain log entries to specific destinations. For more information about sinks, see Routing and storage overview: Sinks.
Create a sink
C#
To learn how to install and use the client library for Logging, see Logging client libraries.
Go
To learn how to install and use the client library for Logging, see Logging client libraries.
Java
To learn how to install and use the client library for Logging, see Logging client libraries.
Node.js
To learn how to install and use the client library for Logging, see Logging client libraries.
PHP
To learn how to install and use the client library for Logging, see Logging client libraries.
Python
To learn how to install and use the client library for Logging, see Logging client libraries.
Ruby
To learn how to install and use the client library for Logging, see Logging client libraries.
Get a sink
Java
To learn how to install and use the client library for Logging, see Logging client libraries.
Node.js
To learn how to install and use the client library for Logging, see Logging client libraries.
List sinks
C#
To learn how to install and use the client library for Logging, see Logging client libraries.
Go
To learn how to install and use the client library for Logging, see Logging client libraries.
Java
To learn how to install and use the client library for Logging, see Logging client libraries.
Node.js
To learn how to install and use the client library for Logging, see Logging client libraries.
PHP
To learn how to install and use the client library for Logging, see Logging client libraries.
Python
To learn how to install and use the client library for Logging, see Logging client libraries.
Ruby
To learn how to install and use the client library for Logging, see Logging client libraries.
Update a sink
C#
To learn how to install and use the client library for Logging, see Logging client libraries.
Go
To learn how to install and use the client library for Logging, see Logging client libraries.
Java
To learn how to install and use the client library for Logging, see Logging client libraries.
Node.js
To learn how to install and use the client library for Logging, see Logging client libraries.
PHP
To learn how to install and use the client library for Logging, see Logging client libraries.
Python
To learn how to install and use the client library for Logging, see Logging client libraries.
Ruby
To learn how to install and use the client library for Logging, see Logging client libraries.
Delete a sink
C#
To learn how to install and use the client library for Logging, see Logging client libraries.
Go
To learn how to install and use the client library for Logging, see Logging client libraries.
Java
To learn how to install and use the client library for Logging, see Logging client libraries.
Node.js
To learn how to install and use the client library for Logging, see Logging client libraries.
PHP
To learn how to install and use the client library for Logging, see Logging client libraries.
Python
To learn how to install and use the client library for Logging, see Logging client libraries.
Ruby
To learn how to install and use the client library for Logging, see Logging client libraries.
Additional resources
C#
Go
Java
Node.js
PHP
Python
Ruby
Additional client libraries
In addition to the libraries shown above, a set of integration libraries are available to support using popular third-party logging libraries with Cloud Logging.
Language | Library |
---|---|
C# | ASP.NET |
C# | log4Net |
Java | logback |
Node | bunyan |
Node | winston |
PHP | PSR-3 |