Logger

Define API Loggers.

class google.cloud.logging_v2.logger.Batch(logger, client, *, resource=None)

Bases: object

Context manager: collect entries to log via a single API call.

Helper returned by Logger.batch()

  • Parameters

    • logger (logging_v2.logger.Logger) โ€“ the logger to which entries will be logged.

    • client (Client) โ€“ The client to use.

    • resource (Optional[Resource]) โ€“ Monitored resource of the batch, defaults to None, which requires that every entry should have a resource specified. Since the methods used to write entries default the entryโ€™s resource to the global resource type, this parameter is only required if explicitly set to None. If no entriesโ€™ resource are set to None, this parameter will be ignored on the server.

commit(*, client=None, partial_success=True)

Send saved log entries as a single API call.

  • Parameters

    • client (Optional[Client]) โ€“ The client to use. If not passed, falls back to the client stored on the current batch.

    • partial_success (Optional[bool]) โ€“ Whether a batchโ€™s valid entries should be written even if some other entry failed due to a permanent error such as INVALID_ARGUMENT or PERMISSION_DENIED.

  • Raises

    ValueError โ€“ if one of the messages in the batch cannot be successfully parsed.

log(message=None, **kw)

Add an arbitrary message to be logged during commit(). Type will be inferred based on the input message.

log_empty(**kw)

Add a entry without payload to be logged during commit().

  • Parameters

    kw (Optional[dict]) โ€“ Additional keyword arguments for the entry. See LogEntry.

log_proto(message, **kw)

Add a protobuf entry to be logged during commit().

  • Parameters

    • message (google.protobuf.Message) โ€“ The protobuf entry.

    • kw (Optional[dict]) โ€“ Additional keyword arguments for the entry. See LogEntry.

log_struct(info, **kw)

Add a struct entry to be logged during commit().

The message must be able to be serializable to a Protobuf Struct. It must be a dictionary of strings to one of the following:

  • str

  • int

  • float

  • bool

  • list[str|float|int|bool|list|dict|None]

  • dict[str, str|float|int|bool|list|dict|None]

For more details on Protobuf structs, see https://protobuf.dev/reference/protobuf/google.protobuf/#value. If the provided dictionary cannot be serialized into a Protobuf struct, it will not be logged, and a ValueError will be raised during commit().

log_text(text, **kw)

Add a text entry to be logged during commit().

  • Parameters

    • text (str) โ€“ the text entry

    • kw (Optional[dict]) โ€“ Additional keyword arguments for the entry. See LogEntry.

class google.cloud.logging_v2.logger.Logger(name, client, *, labels=None, resource=None)

Bases: object

Loggers represent named targets for log entries.

See https://cloud.google.com/logging/docs/reference/v2/rest/v2/projects.logs

  • Parameters

    • name (str) โ€“ The name of the logger.

    • client (Client) โ€“ A client which holds credentials and project configuration for the logger (which requires a project).

    • resource (Optional[Resource]) โ€“ a monitored resource object representing the resource the code was run on. If not given, will be inferred from the environment.

    • labels (Optional[dict]) โ€“ Mapping of default labels for entries written via this logger.

batch(*, client=None)

Return a batch to use as a context manager.

  • Parameters

    client (Union[None, *[Client](client.md#google.cloud.logging_v2.client.Client)]*) โ€“ The client to use. If not passed, falls back to the client stored on the current sink.

  • Returns

    A batch to use as a context manager.

  • Return type

    Batch

property client()

Clent bound to the logger.

delete(logger_name=None, *, client=None)

Delete all entries in a logger via a DELETE request

See https://cloud.google.com/logging/docs/reference/v2/rest/v2/projects.logs/delete

  • Parameters

    • logger_name (Optional[str]) โ€“ The resource name of the log to delete:

      "projects/[PROJECT_ID]/logs/[LOG_ID]"
      "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]"
      "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]"
      "folders/[FOLDER_ID]/logs/[LOG_ID]"
      

      [LOG_ID] must be URL-encoded. For example, "projects/my-project-id/logs/syslog", "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". If not passed, defaults to the project bound to the client.

    • client (Optional[Client]) โ€“ The client to use. If not passed, falls back to the client stored on the current logger.

property full_name()

Fully-qualified name used in logging APIs

list_entries(*, resource_names=None, filter_=None, order_by=None, max_results=None, page_size=None, page_token=None)

Return a generator of log entry resources.

See https://cloud.google.com/logging/docs/reference/v2/rest/v2/entries/list

  • Parameters

    • resource_names (Optional[Sequence[str]]) โ€“ Names of one or more parent resources from which to retrieve log entries:

      "projects/[PROJECT_ID]"
      "organizations/[ORGANIZATION_ID]"
      "billingAccounts/[BILLING_ACCOUNT_ID]"
      "folders/[FOLDER_ID]"
      

      If not passed, defaults to the project bound to the client.

    • filter (Optional[str]) โ€“ a filter expression. See https://cloud.google.com/logging/docs/view/advanced_filters By default, a 24 hour filter is applied.

    • order_by (Optional[str]) โ€“ One of ASCENDING or DESCENDING.

    • max_results (Optional[int]) โ€“ Optional. The maximum number of entries to return. Non-positive values are treated as 0. If None, uses API defaults.

    • page_size (int) โ€“ number of entries to fetch in each API call. Although requests are paged internally, logs are returned by the generator one at a time. If not passed, defaults to a value set by the API.

    • page_token (str) โ€“ opaque marker for the starting โ€œpageโ€ of entries. If not passed, the API will return the first page of entries.

  • Returns

    Generator[~logging_v2.LogEntry]

log(message=None, *, client=None, **kw)

Log an arbitrary message. Type will be inferred based on the input.

See https://cloud.google.com/logging/docs/reference/v2/rest/v2/entries/list

  • Parameters

    • message (Optional[str* or [dict](https://docs.python.org/3/library/stdtypes.html#dict) or google.protobuf.Message]*) โ€“ The message. to log

    • client (Optional[Client]) โ€“ The client to use. If not passed, falls back to the client stored on the current sink.

    • kw (Optional[dict]) โ€“ additional keyword arguments for the entry. See LogEntry.

log_empty(*, client=None, **kw)

Log an empty message

See https://cloud.google.com/logging/docs/reference/v2/rest/v2/entries/write

  • Parameters

    • client (Optional[Client]) โ€“ The client to use. If not passed, falls back to the client stored on the current sink.

    • kw (Optional[dict]) โ€“ additional keyword arguments for the entry. See LogEntry.

log_proto(message, *, client=None, **kw)

Log a protobuf message

See https://cloud.google.com/logging/docs/reference/v2/rest/v2/entries/list

  • Parameters

    • message (google.protobuf.message.Message) โ€“ The protobuf message to be logged.

    • client (Optional[Client]) โ€“ The client to use. If not passed, falls back to the client stored on the current sink.

    • kw (Optional[dict]) โ€“ additional keyword arguments for the entry. See LogEntry.

log_struct(info, *, client=None, **kw)

Logs a dictionary message.

See https://cloud.google.com/logging/docs/reference/v2/rest/v2/entries/write

The message must be able to be serializable to a Protobuf Struct. It must be a dictionary of strings to one of the following:

  • str

  • int

  • float

  • bool

  • list[str|float|int|bool|list|dict|None]

  • dict[str, str|float|int|bool|list|dict|None]

For more details on Protobuf structs, see https://protobuf.dev/reference/protobuf/google.protobuf/#value. If the provided dictionary cannot be serialized into a Protobuf struct, it will not be logged, and a ValueError will be raised.

log_text(text, *, client=None, **kw)

Log a text message

See https://cloud.google.com/logging/docs/reference/v2/rest/v2/entries/write

  • Parameters

    • text (str) โ€“ the log message

    • client (Optional[Client]) โ€“ The client to use. If not passed, falls back to the client stored on the current sink.

    • kw (Optional[dict]) โ€“ additional keyword arguments for the entry. See LogEntry.

property path()

URI path for use in logging APIs

property project()

Project bound to the logger.