Skip to content

Commit f990734

Browse files
committed
Address jon and bill's comments
1 parent 61490fc commit f990734

File tree

6 files changed

+36
-33
lines changed

6 files changed

+36
-33
lines changed

logging/google/cloud/logging/handlers/app_engine.py

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
# /appengine-vmruntime/vmruntime/cloud_logging.py
2828

2929
import logging.handlers
30+
import os
3031

3132
from google.cloud.logging.handlers.handlers import CloudLoggingHandler
3233
from google.cloud.logging.handlers.transports import BackgroundThreadTransport
@@ -36,7 +37,14 @@
3637

3738
EXCLUDED_LOGGER_DEFAULTS = ('google.cloud', 'oauth2client')
3839

39-
_GLOBAL_RESOURCE = Resource(type='global', labels={})
40+
GAE_RESOURCE = Resource(
41+
type='gae_app',
42+
labels={
43+
'project_id': os.getenv('GCLOUD_PROJECT'),
44+
'module_id': os.getenv('GAE_SERVICE'),
45+
'version_id': os.getenv('GAE_VERSION'),
46+
},
47+
)
4048

4149

4250
class AppEngineHandler(CloudLoggingHandler):
@@ -71,19 +79,5 @@ class AppEngineHandler(CloudLoggingHandler):
7179
def __init__(self, client,
7280
name=DEFAULT_LOGGER_NAME,
7381
transport=BackgroundThreadTransport,
74-
resource=_GLOBAL_RESOURCE):
75-
super(AppEngineHandler, self).__init__(client, name, transport)
76-
self.resource=resource
77-
78-
def emit(self, record):
79-
"""Actually log the specified logging record.
80-
81-
Overrides the default emit behavior of ``StreamHandler``.
82-
83-
See: https://docs.python.org/2/library/logging.html#handler-objects
84-
85-
:type record: :class:`logging.LogRecord`
86-
:param record: The record to be logged.
87-
"""
88-
message = super(CloudLoggingHandler, self).format(record)
89-
self.transport.send(record, message, self.resource)
82+
resource=GAE_RESOURCE):
83+
super(AppEngineHandler, self).__init__(client, name, transport, resource)

logging/google/cloud/logging/handlers/handlers.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import logging
1818

1919
from google.cloud.logging.handlers.transports import BackgroundThreadTransport
20+
from google.cloud.logging.logger import _GLOBAL_RESOURCE
2021

2122
DEFAULT_LOGGER_NAME = 'python'
2223

@@ -52,6 +53,9 @@ class CloudLoggingHandler(logging.StreamHandler):
5253
:class:`.BackgroundThreadTransport`. The other
5354
option is :class:`.SyncTransport`.
5455
56+
:type resource: :class:`~google.cloud.logging.resource.Resource`
57+
:param resource: (Optional) Monitored resource of the entry
58+
5559
Example:
5660
5761
.. code-block:: python
@@ -73,11 +77,13 @@ class CloudLoggingHandler(logging.StreamHandler):
7377

7478
def __init__(self, client,
7579
name=DEFAULT_LOGGER_NAME,
76-
transport=BackgroundThreadTransport):
80+
transport=BackgroundThreadTransport,
81+
resource=_GLOBAL_RESOURCE):
7782
super(CloudLoggingHandler, self).__init__()
7883
self.name = name
7984
self.client = client
8085
self.transport = transport(client, name)
86+
self.resource=resource
8187

8288
def emit(self, record):
8389
"""Actually log the specified logging record.
@@ -90,7 +96,7 @@ def emit(self, record):
9096
:param record: The record to be logged.
9197
"""
9298
message = super(CloudLoggingHandler, self).format(record)
93-
self.transport.send(record, message)
99+
self.transport.send(record, message, self.resource)
94100

95101

96102
def setup_logging(handler, excluded_loggers=EXCLUDED_LOGGER_DEFAULTS,

logging/google/cloud/logging/handlers/transports/background_thread.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,13 @@
2828
from six.moves import queue
2929

3030
from google.cloud.logging.handlers.transports.base import Transport
31-
from google.cloud.logging.resource import Resource
32-
31+
from google.cloud.logging.logger import _GLOBAL_RESOURCE
3332

3433
_DEFAULT_GRACE_PERIOD = 5.0 # Seconds
3534
_DEFAULT_MAX_BATCH_SIZE = 10
3635
_WORKER_THREAD_NAME = 'google.cloud.logging.Worker'
3736
_WORKER_TERMINATOR = object()
3837
_LOGGER = logging.getLogger(__name__)
39-
_GLOBAL_RESOURCE = Resource(type='global', labels={})
4038

4139

4240
def _get_many(queue_, max_items=None):

logging/tests/unit/handlers/test_app_engine.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
# limitations under the License.
1414

1515
import logging
16+
import os
1617
import unittest
1718
from google.cloud.logging.resource import Resource
1819

@@ -37,12 +38,14 @@ def test_emit(self):
3738
RESOURCE = Resource(
3839
type='gae_app',
3940
labels={
40-
'module_id': 'default',
41-
'version_id': 'test',
42-
})
41+
'project_id': os.getenv('GCLOUD_PROJECT'),
42+
'module_id': os.getenv('GAE_SERVICE'),
43+
'version_id': os.getenv('GAE_VERSION'),
44+
},
45+
)
4346

4447
client = _Client(self.PROJECT)
45-
handler = self._make_one(client, transport=_Transport, resource=RESOURCE)
48+
handler = self._make_one(client, transport=_Transport)
4649
logname = 'loggername'
4750
message = 'hello world'
4851
record = logging.LogRecord(logname, logging, None, None, message,

logging/tests/unit/handlers/test_handlers.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,17 @@ def test_ctor(self):
3535
self.assertEqual(handler.client, client)
3636

3737
def test_emit(self):
38+
from google.cloud.logging.logger import _GLOBAL_RESOURCE
39+
3840
client = _Client(self.PROJECT)
39-
handler = self._make_one(client, transport=_Transport)
41+
handler = self._make_one(client, transport=_Transport, resource=_GLOBAL_RESOURCE)
4042
logname = 'loggername'
4143
message = 'hello world'
4244
record = logging.LogRecord(logname, logging, None, None, message,
4345
None, None)
4446
handler.emit(record)
4547

46-
self.assertEqual(handler.transport.send_called_with, (record, message))
48+
self.assertEqual(handler.transport.send_called_with, (record, message, _GLOBAL_RESOURCE))
4749

4850

4951
class TestSetupLogging(unittest.TestCase):
@@ -108,5 +110,5 @@ class _Transport(object):
108110
def __init__(self, client, name):
109111
pass
110112

111-
def send(self, record, message):
112-
self.send_called_with = (record, message)
113+
def send(self, record, message, resource):
114+
self.send_called_with = (record, message, resource)

logging/tests/unit/handlers/transports/test_background_thread.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -275,9 +275,9 @@ def __init__(self):
275275
self.commit_called = False
276276
self.commit_count = None
277277

278-
def log_struct(self, record, severity=logging.INFO, resource=_GLOBAL_RESOURCE):
279-
self.log_struct_called_with = (record, severity, resource)
280-
self.entries.append(record)
278+
def log_struct(self, info, severity=logging.INFO, resource=_GLOBAL_RESOURCE):
279+
self.log_struct_called_with = (info, severity, resource)
280+
self.entries.append(info)
281281

282282
def commit(self):
283283
self.commit_called = True

0 commit comments

Comments
 (0)