Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 24a0a5e

Browse filesBrowse files
fix: revert default resource behavior to avoid breaking changes (#237)
1 parent 9069738 commit 24a0a5e
Copy full SHA for 24a0a5e

File tree

Expand file treeCollapse file tree

5 files changed

+18
-47
lines changed
Filter options
Expand file treeCollapse file tree

5 files changed

+18
-47
lines changed

‎google/cloud/logging_v2/handlers/handlers.py

Copy file name to clipboardExpand all lines: google/cloud/logging_v2/handlers/handlers.py
+4-5Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
import logging
1818

19+
20+
from google.cloud.logging_v2.logger import _GLOBAL_RESOURCE
1921
from google.cloud.logging_v2.handlers.transports import BackgroundThreadTransport
2022
from google.cloud.logging_v2.handlers._monitored_resources import detect_resource
2123

@@ -61,7 +63,7 @@ def __init__(
6163
*,
6264
name=DEFAULT_LOGGER_NAME,
6365
transport=BackgroundThreadTransport,
64-
resource=None,
66+
resource=_GLOBAL_RESOURCE,
6567
labels=None,
6668
stream=None,
6769
):
@@ -80,15 +82,12 @@ def __init__(
8082
:class:`.BackgroundThreadTransport`. The other
8183
option is :class:`.SyncTransport`.
8284
resource (~logging_v2.resource.Resource):
83-
Resource for this Handler. If not given, will be inferred from the environment.
85+
Resource for this Handler. Defaults to ``global``.
8486
labels (Optional[dict]): Monitored resource of the entry, defaults
8587
to the global resource type.
8688
stream (Optional[IO]): Stream to be used by the handler.
8789
"""
8890
super(CloudLoggingHandler, self).__init__(stream)
89-
if not resource:
90-
# infer the correct monitored resource from the local environment
91-
resource = detect_resource(client.project)
9291
self.name = name
9392
self.client = client
9493
self.transport = transport(client, name)

‎google/cloud/logging_v2/logger.py

Copy file name to clipboardExpand all lines: google/cloud/logging_v2/logger.py
+4-3Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
from google.cloud.logging_v2.entries import StructEntry
2121
from google.cloud.logging_v2.entries import TextEntry
2222
from google.cloud.logging_v2.resource import Resource
23-
from google.cloud.logging_v2.handlers._monitored_resources import detect_resource
2423

2524

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

52-
def __init__(self, name, client, *, labels=None):
51+
def __init__(self, name, client, *, labels=None, resource=_GLOBAL_RESOURCE):
5352
"""
5453
Args:
5554
name (str): The name of the logger.
5655
client (~logging_v2.client.Client):
5756
A client which holds credentials and project configuration
5857
for the logger (which requires a project).
58+
resource (~logging_v2.Resource): a monitored resource object
59+
representing the resource the code was run on.
5960
labels (Optional[dict]): Mapping of default labels for entries written
6061
via this logger.
6162
6263
"""
6364
self.name = name
6465
self._client = client
6566
self.labels = labels
66-
self.default_resource = detect_resource(client.project)
67+
self.default_resource = resource
6768

6869
@property
6970
def client(self):

‎tests/unit/handlers/test_handlers.py

Copy file name to clipboardExpand all lines: tests/unit/handlers/test_handlers.py
+2-5Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ def _make_one(self, *args, **kw):
3838

3939
def test_ctor_defaults(self):
4040
import sys
41-
from google.cloud.logging_v2.handlers._monitored_resources import (
42-
_create_global_resource,
43-
)
41+
from google.cloud.logging_v2.logger import _GLOBAL_RESOURCE
4442
from google.cloud.logging_v2.handlers.handlers import DEFAULT_LOGGER_NAME
4543

4644
patch = mock.patch(
@@ -55,8 +53,7 @@ def test_ctor_defaults(self):
5553
self.assertIsInstance(handler.transport, _Transport)
5654
self.assertIs(handler.transport.client, client)
5755
self.assertEqual(handler.transport.name, DEFAULT_LOGGER_NAME)
58-
global_resource = _create_global_resource(self.PROJECT)
59-
self.assertEqual(handler.resource, global_resource)
56+
self.assertEqual(handler.resource, _GLOBAL_RESOURCE)
6057
self.assertIsNone(handler.labels)
6158
self.assertIs(handler.stream, sys.stderr)
6259

‎tests/unit/test_logger.py

Copy file name to clipboardExpand all lines: tests/unit/test_logger.py
+7-33Lines changed: 7 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -99,15 +99,11 @@ def test_batch_w_alternate_client(self):
9999
self.assertIs(batch.client, client2)
100100

101101
def test_log_empty_defaults_w_default_labels(self):
102-
from google.cloud.logging_v2.handlers._monitored_resources import (
103-
detect_resource,
104-
)
105-
106102
DEFAULT_LABELS = {"foo": "spam"}
107103
ENTRIES = [
108104
{
109105
"logName": "projects/%s/logs/%s" % (self.PROJECT, self.LOGGER_NAME),
110-
"resource": detect_resource(self.PROJECT)._to_dict(),
106+
"resource": {"type": "global", "labels": {}},
111107
"labels": DEFAULT_LABELS,
112108
}
113109
]
@@ -174,11 +170,7 @@ def test_log_empty_w_explicit(self):
174170
self.assertEqual(api._write_entries_called_with, (ENTRIES, None, None, None))
175171

176172
def test_log_text_defaults(self):
177-
from google.cloud.logging_v2.handlers._monitored_resources import (
178-
detect_resource,
179-
)
180-
181-
RESOURCE = detect_resource(self.PROJECT)._to_dict()
173+
RESOURCE = {"type": "global", "labels": {}}
182174
TEXT = "TEXT"
183175
ENTRIES = [
184176
{
@@ -196,12 +188,8 @@ def test_log_text_defaults(self):
196188
self.assertEqual(api._write_entries_called_with, (ENTRIES, None, None, None))
197189

198190
def test_log_text_w_unicode_and_default_labels(self):
199-
from google.cloud.logging_v2.handlers._monitored_resources import (
200-
detect_resource,
201-
)
202-
203191
TEXT = "TEXT"
204-
RESOURCE = detect_resource(self.PROJECT)._to_dict()
192+
RESOURCE = {"type": "global", "labels": {}}
205193
DEFAULT_LABELS = {"foo": "spam"}
206194
ENTRIES = [
207195
{
@@ -277,12 +265,8 @@ def test_log_text_explicit(self):
277265
self.assertEqual(api._write_entries_called_with, (ENTRIES, None, None, None))
278266

279267
def test_log_struct_defaults(self):
280-
from google.cloud.logging_v2.handlers._monitored_resources import (
281-
detect_resource,
282-
)
283-
284268
STRUCT = {"message": "MESSAGE", "weather": "cloudy"}
285-
RESOURCE = detect_resource(self.PROJECT)._to_dict()
269+
RESOURCE = {"type": "global", "labels": {}}
286270
ENTRIES = [
287271
{
288272
"logName": "projects/%s/logs/%s" % (self.PROJECT, self.LOGGER_NAME),
@@ -299,12 +283,8 @@ def test_log_struct_defaults(self):
299283
self.assertEqual(api._write_entries_called_with, (ENTRIES, None, None, None))
300284

301285
def test_log_struct_w_default_labels(self):
302-
from google.cloud.logging_v2.handlers._monitored_resources import (
303-
detect_resource,
304-
)
305-
306286
STRUCT = {"message": "MESSAGE", "weather": "cloudy"}
307-
RESOURCE = detect_resource(self.PROJECT)._to_dict()
287+
RESOURCE = {"type": "global", "labels": {}}
308288
DEFAULT_LABELS = {"foo": "spam"}
309289
ENTRIES = [
310290
{
@@ -383,16 +363,13 @@ def test_log_proto_defaults(self):
383363
import json
384364
from google.protobuf.json_format import MessageToJson
385365
from google.protobuf.struct_pb2 import Struct, Value
386-
from google.cloud.logging_v2.handlers._monitored_resources import (
387-
detect_resource,
388-
)
389366

390367
message = Struct(fields={"foo": Value(bool_value=True)})
391368
ENTRIES = [
392369
{
393370
"logName": "projects/%s/logs/%s" % (self.PROJECT, self.LOGGER_NAME),
394371
"protoPayload": json.loads(MessageToJson(message)),
395-
"resource": detect_resource(self.PROJECT)._to_dict(),
372+
"resource": {"type": "global", "labels": {}},
396373
}
397374
]
398375
client = _Client(self.PROJECT)
@@ -407,17 +384,14 @@ def test_log_proto_w_default_labels(self):
407384
import json
408385
from google.protobuf.json_format import MessageToJson
409386
from google.protobuf.struct_pb2 import Struct, Value
410-
from google.cloud.logging_v2.handlers._monitored_resources import (
411-
detect_resource,
412-
)
413387

414388
message = Struct(fields={"foo": Value(bool_value=True)})
415389
DEFAULT_LABELS = {"foo": "spam"}
416390
ENTRIES = [
417391
{
418392
"logName": "projects/%s/logs/%s" % (self.PROJECT, self.LOGGER_NAME),
419393
"protoPayload": json.loads(MessageToJson(message)),
420-
"resource": detect_resource(self.PROJECT)._to_dict(),
394+
"resource": {"type": "global", "labels": {}},
421395
"labels": DEFAULT_LABELS,
422396
}
423397
]

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.