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)

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)

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)

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