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 byLogger.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, defaultsto None, which requires that every entry should have aresource specified. Since the methods used to writeentries default the entry’s resource to the globalresource type, this parameter is only requiredif explicitly set to None. If no entries’ resource areset 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 theclient stored on the current batch.

    • partial_success (Optional[bool]) – Whether a batch’s valid entries should be written evenif some other entry failed due to a permanent error suchas 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 duringcommit().Type will be inferred based on the input message.

log_empty(**kw)

Add a entry without payload to be logged duringcommit().

  • Parameters

    kw (Optional[dict]) – Additional keyword arguments for the entry. SeeLogEntry.

log_proto(message, **kw)

Add a protobuf entry to be logged duringcommit().

  • Parameters

    • message (google.protobuf.Message) – The protobuf entry.

    • kw (Optional[dict]) – Additional keyword arguments for the entry.SeeLogEntry.

log_struct(info, **kw)

Add a struct entry to be logged duringcommit().

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, seehttps://protobuf.dev/reference/protobuf/google.protobuf/#value.If the provided dictionary cannot be serialized into a Protobuf struct,it will not be logged, and aValueError will be raised duringcommit().

log_text(text, **kw)

Add a text entry to be logged duringcommit().

  • Parameters

    • text (str) – the text entry

    • kw (Optional[dict]) – Additional keyword arguments for the entry.SeeLogEntry.

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

Bases:object

Loggers represent named targets for log entries.

Seehttps://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 configurationfor the logger (which requires a project).

    • resource (Optional[Resource]) – a monitored resource objectrepresenting the resource the code was run on. If not given, willbe inferred from the environment.

    • labels (Optional[dict]) – Mapping of default labels for entries writtenvia 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 theclient 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

Seehttps://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 theclient 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.

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

  • Parameters

    • resource_names (Optional[Sequence[str]]) – Names of one or more parent resourcesfrom 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. Seehttps://cloud.google.com/logging/docs/view/advanced_filtersBy default, a 24 hour filter is applied.

    • order_by (Optional[str]) – One ofASCENDINGorDESCENDING.

    • 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. Althoughrequests are paged internally, logs are returned by the generatorone 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 notpassed, 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.

Seehttps://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) orgoogle.protobuf.Message]*) – The message. to log

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

    • kw (Optional[dict]) – additional keyword arguments for the entry.SeeLogEntry.

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

Log an empty message

Seehttps://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 theclient stored on the current sink.

    • kw (Optional[dict]) – additional keyword arguments for the entry.SeeLogEntry.

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

Log a protobuf message

Seehttps://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 theclient stored on the current sink.

    • kw (Optional[dict]) – additional keyword arguments for the entry.SeeLogEntry.

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

Logs a dictionary message.

Seehttps://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, seehttps://protobuf.dev/reference/protobuf/google.protobuf/#value.If the provided dictionary cannot be serialized into a Protobuf struct,it will not be logged, and aValueError will be raised.

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

Log a text message

Seehttps://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 theclient stored on the current sink.

    • kw (Optional[dict]) – additional keyword arguments for the entry.SeeLogEntry.

property path()

URI path for use in logging APIs

property project()

Project bound to the logger.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-10-30 UTC.