Skip to content
This repository was archived by the owner on Feb 26, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions google/cloud/logging_v2/handlers/handlers.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@

import logging


from google.cloud.logging_v2.logger import _GLOBAL_RESOURCE
from google.cloud.logging_v2.handlers.transports import BackgroundThreadTransport
from google.cloud.logging_v2.handlers._monitored_resources import detect_resource

Expand Down Expand Up @@ -61,7 +63,7 @@ def __init__(
*,
name=DEFAULT_LOGGER_NAME,
transport=BackgroundThreadTransport,
resource=None,
resource=_GLOBAL_RESOURCE,
labels=None,
stream=None,
):
Expand All @@ -80,15 +82,12 @@ def __init__(
:class:`.BackgroundThreadTransport`. The other
option is :class:`.SyncTransport`.
resource (~logging_v2.resource.Resource):
Resource for this Handler. If not given, will be inferred from the environment.
Resource for this Handler. Defaults to ``GLOBAL_RESOURCE``.
Comment thread
daniel-sanche marked this conversation as resolved.
Outdated
labels (Optional[dict]): Monitored resource of the entry, defaults
to the global resource type.
stream (Optional[IO]): Stream to be used by the handler.
"""
super(CloudLoggingHandler, self).__init__(stream)
if not resource:
# infer the correct monitored resource from the local environment
resource = detect_resource(client.project)
self.name = name
self.client = client
self.transport = transport(client, name)
Expand Down
7 changes: 4 additions & 3 deletions google/cloud/logging_v2/logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
from google.cloud.logging_v2.entries import StructEntry
from google.cloud.logging_v2.entries import TextEntry
from google.cloud.logging_v2.resource import Resource
from google.cloud.logging_v2.handlers._monitored_resources import detect_resource


_GLOBAL_RESOURCE = Resource(type="global", labels={})
Expand Down Expand Up @@ -49,21 +48,23 @@ class Logger(object):
See https://cloud.google.com/logging/docs/reference/v2/rest/v2/projects.logs
"""

def __init__(self, name, client, *, labels=None):
def __init__(self, name, client, *, labels=None, resource=_GLOBAL_RESOURCE):
"""
Args:
name (str): The name of the logger.
client (~logging_v2.client.Client):
A client which holds credentials and project configuration
for the logger (which requires a project).
resource (~logging_v2.Resource): a monitored resource object
representing the resource the code was run on.
labels (Optional[dict]): Mapping of default labels for entries written
via this logger.

"""
self.name = name
self._client = client
self.labels = labels
self.default_resource = detect_resource(client.project)
self.default_resource = resource

@property
def client(self):
Expand Down
7 changes: 2 additions & 5 deletions tests/unit/handlers/test_handlers.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,7 @@ def _make_one(self, *args, **kw):

def test_ctor_defaults(self):
import sys
from google.cloud.logging_v2.handlers._monitored_resources import (
_create_global_resource,
)
from google.cloud.logging_v2.logger import _GLOBAL_RESOURCE
from google.cloud.logging_v2.handlers.handlers import DEFAULT_LOGGER_NAME

patch = mock.patch(
Expand All @@ -55,8 +53,7 @@ def test_ctor_defaults(self):
self.assertIsInstance(handler.transport, _Transport)
self.assertIs(handler.transport.client, client)
self.assertEqual(handler.transport.name, DEFAULT_LOGGER_NAME)
global_resource = _create_global_resource(self.PROJECT)
self.assertEqual(handler.resource, global_resource)
self.assertEqual(handler.resource, _GLOBAL_RESOURCE)
self.assertIsNone(handler.labels)
self.assertIs(handler.stream, sys.stderr)

Expand Down
14 changes: 7 additions & 7 deletions tests/unit/test_logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ def test_log_empty_defaults_w_default_labels(self):
ENTRIES = [
{
"logName": "projects/%s/logs/%s" % (self.PROJECT, self.LOGGER_NAME),
"resource": detect_resource(self.PROJECT)._to_dict(),
"resource": {"type": "global", "labels": {}},
"labels": DEFAULT_LABELS,
}
]
Expand Down Expand Up @@ -178,7 +178,7 @@ def test_log_text_defaults(self):
detect_resource,
)

RESOURCE = detect_resource(self.PROJECT)._to_dict()
RESOURCE = {"type": "global", "labels": {}}
TEXT = "TEXT"
ENTRIES = [
{
Expand All @@ -201,7 +201,7 @@ def test_log_text_w_unicode_and_default_labels(self):
)

TEXT = "TEXT"
RESOURCE = detect_resource(self.PROJECT)._to_dict()
RESOURCE = {"type": "global", "labels": {}}
DEFAULT_LABELS = {"foo": "spam"}
ENTRIES = [
{
Expand Down Expand Up @@ -282,7 +282,7 @@ def test_log_struct_defaults(self):
)

STRUCT = {"message": "MESSAGE", "weather": "cloudy"}
RESOURCE = detect_resource(self.PROJECT)._to_dict()
RESOURCE = {"type": "global", "labels": {}}
ENTRIES = [
{
"logName": "projects/%s/logs/%s" % (self.PROJECT, self.LOGGER_NAME),
Expand All @@ -304,7 +304,7 @@ def test_log_struct_w_default_labels(self):
)

STRUCT = {"message": "MESSAGE", "weather": "cloudy"}
RESOURCE = detect_resource(self.PROJECT)._to_dict()
RESOURCE = {"type": "global", "labels": {}}
DEFAULT_LABELS = {"foo": "spam"}
ENTRIES = [
{
Expand Down Expand Up @@ -392,7 +392,7 @@ def test_log_proto_defaults(self):
{
"logName": "projects/%s/logs/%s" % (self.PROJECT, self.LOGGER_NAME),
"protoPayload": json.loads(MessageToJson(message)),
"resource": detect_resource(self.PROJECT)._to_dict(),
"resource": {"type": "global", "labels": {}},
}
]
client = _Client(self.PROJECT)
Expand All @@ -417,7 +417,7 @@ def test_log_proto_w_default_labels(self):
{
"logName": "projects/%s/logs/%s" % (self.PROJECT, self.LOGGER_NAME),
"protoPayload": json.loads(MessageToJson(message)),
"resource": detect_resource(self.PROJECT)._to_dict(),
"resource": {"type": "global", "labels": {}},
"labels": DEFAULT_LABELS,
}
]
Expand Down