As of January 1, 2020 this library no longer supports Python 2 on the latest released version. Library versions released prior to that date will continue to be available. For more information please visit Python 2 support on Google Cloud.

Structured Log Handler

Logging handler for printing formatted structured logs to standard output.

class google.cloud.logging_v2.handlers.structured_log.StructuredLogHandler(*, labels=None, stream=None, project_id=None, json_encoder_cls=None, **kwargs)[source]

Bases: logging.StreamHandler

Handler to format logs into the Cloud Logging structured log format, and write them to standard output

Parameters
  • labels (Optional[dict]) – Additional labels to attach to logs.

  • stream (Optional[IO]) – Stream to be used by the handler.

  • project (Optional[str]) – Project Id associated with the logs.

  • json_encoder_cls (Optional[Type[JSONEncoder]]) – Custom JSON encoder. Defaults to json.JSONEncoder

emit(record)[source]

Emit a record.

If a formatter is specified, it is used to format the record. The record is then written to the stream with a trailing newline. If exception information is present, it is formatted using traceback.print_exception and appended to the stream. If the stream has an ‘encoding’ attribute, it is used to determine how to do the output to the stream.

format(record)[source]

Format the message into structured log JSON. :param record: The log record. :type record: logging.LogRecord

Returns

A JSON string formatted for GCP structured logging.

Return type

str