Class CloudLoggingHandler (3.11.0)

CloudLoggingHandler(client, *, name: str = 'python', transport: google.cloud.logging_v2.handlers.transports.base.Transport = <class 'google.cloud.logging_v2.handlers.transports.background_thread.BackgroundThreadTransport'>, resource: typing.Optional[google.cloud.logging_v2.resource.Resource] = None, labels: typing.Optional[dict] = None, stream: typing.Optional[typing.IO] = None, **kwargs)

Handler that directly makes Cloud Logging API calls.

This is a Python standard logging handler using that can be used to route Python standard logging messages directly to the Stackdriver Logging API.

This handler is used when not in GAE or GKE environment.

This handler supports both an asynchronous and synchronous transport.

Example:

import logging
import google.cloud.logging
from google.cloud.logging_v2.handlers import CloudLoggingHandler

client = google.cloud.logging.Client()
handler = CloudLoggingHandler(client)

cloud_logger = logging.getLogger('cloudLogger')
cloud_logger.setLevel(logging.INFO)
cloud_logger.addHandler(handler)

cloud_logger.error('bad news')  # API call

Methods

CloudLoggingHandler

CloudLoggingHandler(client, *, name: str = 'python', transport: google.cloud.logging_v2.handlers.transports.base.Transport = <class 'google.cloud.logging_v2.handlers.transports.background_thread.BackgroundThreadTransport'>, resource: typing.Optional[google.cloud.logging_v2.resource.Resource] = None, labels: typing.Optional[dict] = None, stream: typing.Optional[typing.IO] = None, **kwargs)
Parameters
Name Description
client logging_v2.client.Client

The authenticated Google Cloud Logging client for this handler to use.

name str

the name of the custom log in Cloud Logging. Defaults to 'python'. The name of the Python logger will be represented in the python_logger field.

transport logging_v2.transports.Transport

Class for creating new transport objects. It should extend from the base .Transport type and implement :meth.Transport.send. Defaults to .BackgroundThreadTransport. The other option is .SyncTransport.

resource logging_v2.resource.Resource

Resource for this Handler. If not given, will be inferred from the environment.

labels Optional[dict]

Additional labels to attach to logs.

stream Optional[IO]

Stream to be used by the handler.

emit

emit(record)

Actually log the specified logging record.

Overrides the default emit behavior of StreamHandler.

See https://docs.python.org/2/library/logging.html#handler-objects

Parameter
Name Description
record logging.LogRecord

The record to be logged.