Skip to content
This repository was archived by the owner on Aug 13, 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
3 changes: 1 addition & 2 deletions google/cloud/logging_v2/logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ def _do_log(self, client, _entry_class, payload=None, **kw):
kw["severity"] = severity.upper()

if isinstance(kw["resource"], collections.abc.Mapping):
# if resource was passed as a dict, attempt to parse it into a
# if resource was passed as a dict, attempt to parse it into a
# Resource object
try:
kw["resource"] = Resource(**kw["resource"])
Expand Down Expand Up @@ -248,7 +248,6 @@ def log(self, message=None, *, client=None, **kw):
else:
self._do_log(client, LogEntry, message, **kw)


def delete(self, logger_name=None, *, client=None):
"""Delete all entries in a logger via a DELETE request

Expand Down
23 changes: 18 additions & 5 deletions tests/unit/test_logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,7 @@ def test_log_struct_inference(self):
from google.cloud.logging_v2.handlers._monitored_resources import (
detect_resource,
)

STRUCT = {
"message": "System test: test_log_struct_logentry_data",
"severity": "warning",
Expand Down Expand Up @@ -418,18 +419,19 @@ def test_log_w_dict_resource(self):
of a Resource object
"""
import pytest

MESSAGE = "hello world"
client = _Client(self.PROJECT)
api = client.logging_api = _DummyLoggingAPI()
logger = self._make_one(self.LOGGER_NAME, client=client)
broken_resource_dicts = [{}, {"type":""}, {"labels":""}]
broken_resource_dicts = [{}, {"type": ""}, {"labels": ""}]
for resource in broken_resource_dicts:
# ensure bad inputs result in a helpful error
with pytest.raises(TypeError) as e_info:
logger.log(MESSAGE, resource=resource)
self.assertIn("invalid resource dict", e_info)
# ensure well-formed dict is converted to a resource
resource = {"type":"gae_app", "labels":[]}
resource = {"type": "gae_app", "labels": []}
ENTRIES = [
{
"logName": "projects/%s/logs/%s" % (self.PROJECT, self.LOGGER_NAME),
Expand All @@ -440,7 +442,6 @@ def test_log_w_dict_resource(self):
logger.log(MESSAGE, resource=resource)
self.assertEqual(api._write_entries_called_with, (ENTRIES, None, None, None))


def test_log_lowercase_severity(self):
"""
lower case severity strings should be accepted
Expand All @@ -449,7 +450,17 @@ def test_log_lowercase_severity(self):
detect_resource,
)

for lower_severity in ["default", "debug", "info", "notice", "warning", "error", "critical", "alert", "emergency"]:
for lower_severity in [
"default",
"debug",
"info",
"notice",
"warning",
"error",
"critical",
"alert",
"emergency",
]:
MESSAGE = "hello world"
RESOURCE = detect_resource(self.PROJECT)._to_dict()
ENTRIES = [
Expand All @@ -466,7 +477,9 @@ def test_log_lowercase_severity(self):

logger.log(MESSAGE, severity=lower_severity)

self.assertEqual(api._write_entries_called_with, (ENTRIES, None, None, None))
self.assertEqual(
api._write_entries_called_with, (ENTRIES, None, None, None)
)

def test_log_proto_defaults(self):
from google.cloud.logging_v2.handlers._monitored_resources import (
Expand Down