Skip to content

Commit b4ec3b1

Browse files
authored
chore: improve logs on reverse geolocation functions (#1217)
1 parent 08b4cda commit b4ec3b1

File tree

9 files changed

+130
-110
lines changed

9 files changed

+130
-110
lines changed

functions-python/reverse_geolocation/src/main.py

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
1+
import logging
2+
13
import flask
24
import functions_framework
35
from cloudevents.http import CloudEvent
6+
from shared.helpers.logger import init_logger
7+
8+
9+
init_logger()
410

511

612
@functions_framework.http
@@ -11,7 +17,9 @@ def reverse_geolocation_processor(request: flask.Request):
1117
"""
1218
from reverse_geolocation_processor import reverse_geolocation_process
1319

14-
return reverse_geolocation_process(request)
20+
result = reverse_geolocation_process(request)
21+
logging.info(result)
22+
return result
1523

1624

1725
@functions_framework.http
@@ -22,7 +30,9 @@ def reverse_geolocation_batch(request: flask.Request):
2230
"""
2331
from reverse_geolocation_batch import reverse_geolocation_batch
2432

25-
return reverse_geolocation_batch(request)
33+
result = reverse_geolocation_batch(request)
34+
logging.info(result)
35+
return result
2636

2737

2838
@functions_framework.cloud_event
@@ -33,7 +43,9 @@ def reverse_geolocation(request: CloudEvent):
3343
"""
3444
from reverse_geolocation import reverse_geolocation_storage_trigger
3545

36-
return reverse_geolocation_storage_trigger(request)
46+
result = reverse_geolocation_storage_trigger(request)
47+
logging.info(result)
48+
return result
3749

3850

3951
@functions_framework.cloud_event
@@ -44,4 +56,6 @@ def reverse_geolocation_pubsub(request: CloudEvent):
4456
"""
4557
from reverse_geolocation import reverse_geolocation_pubsub
4658

47-
return reverse_geolocation_pubsub(request)
59+
result = reverse_geolocation_pubsub(request)
60+
logging.info(result)
61+
return result

functions-python/reverse_geolocation/src/parse_request.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def parse_request_parameters(
1717
"""
1818
logging.info("Parsing request parameters.")
1919
request_json = request.get_json(silent=True)
20-
logging.info(f"Request JSON: {request_json}")
20+
logging.info("Request JSON: %s", request_json)
2121

2222
if (
2323
not request_json
@@ -34,7 +34,7 @@ def parse_request_parameters(
3434
)
3535

3636
data_type = request_json.get("data_type", "gtfs")
37-
logging.info(f"Data type: {data_type}")
37+
logging.info("Data type: %s", data_type)
3838
if data_type == "gtfs":
3939
df, stable_id, dataset_id, url = parse_request_parameters_gtfs(request_json)
4040
elif data_type == "gbfs":

functions-python/reverse_geolocation/src/reverse_geolocation.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,18 @@
88
from google.cloud import storage
99
from google.cloud import tasks_v2
1010

11-
from shared.helpers.logger import Logger
11+
from shared.helpers.logger import init_logger
1212
from shared.helpers.parser import jsonify_pubsub
1313
from shared.helpers.utils import create_http_task
1414

1515

16+
init_logger()
17+
18+
1619
def init(request: CloudEvent) -> None:
1720
"""
1821
Initializer function.
1922
"""
20-
Logger.init_logger()
2123
logging.info("Processing reverse geolocation request.")
2224
logging.info("Request: %s", request)
2325

@@ -58,7 +60,7 @@ def reverse_geolocation_pubsub(request: CloudEvent) -> None:
5860
url = message_json["url"]
5961
reverse_geolocation(stable_id, dataset_id, url)
6062
except Exception as e:
61-
logging.error(f"Execution error: {e}")
63+
logging.error("Execution error: %s", e)
6264

6365

6466
def reverse_geolocation_storage_trigger(request: CloudEvent) -> None:
@@ -70,7 +72,7 @@ def reverse_geolocation_storage_trigger(request: CloudEvent) -> None:
7072
stable_id, dataset_id, url = parse_resource_data(request.data)
7173
reverse_geolocation(stable_id, dataset_id, url)
7274
except Exception as e:
73-
logging.error(f"Execution error: {e}")
75+
logging.error("Execution error: %s", e)
7476

7577

7678
def reverse_geolocation(stable_id: str, dataset_id: str, url: str) -> None:
@@ -79,7 +81,10 @@ def reverse_geolocation(stable_id: str, dataset_id: str, url: str) -> None:
7981
"""
8082
try:
8183
logging.info(
82-
f"Stable ID: {stable_id} - Dataset Stable ID: {dataset_id} - URL: {url}"
84+
"Stable ID: %s - Dataset Stable ID: %s - URL: %s",
85+
stable_id,
86+
dataset_id,
87+
url,
8388
)
8489

8590
# TODO: This logic should be moved to a separate service
@@ -90,12 +95,12 @@ def reverse_geolocation(stable_id: str, dataset_id: str, url: str) -> None:
9095
blob = bucket.blob(f"{stable_id}/{dataset_id}/stops.txt")
9196
blob.upload_from_filename("stops.txt")
9297
blob.make_public()
93-
logging.info(f"Uploaded stops.txt to {blob.public_url}")
98+
logging.info("Uploaded stops.txt to %s", blob.public_url)
9499

95100
create_http_processor_task(stable_id, dataset_id, blob.public_url)
96-
logging.info(f"Reverse geolocation task created for feed {stable_id}.")
101+
logging.info("Reverse geolocation task created for feed %s.", stable_id)
97102
except Exception as e:
98-
logging.error(f"Error creating task: {e}")
103+
logging.error("Error creating task: %s", e)
99104

100105

101106
def create_http_processor_task(

functions-python/reverse_geolocation/src/reverse_geolocation_batch.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@
99

1010
from shared.database_gen.sqlacodegen_models import Gtfsfeed, Gtfsdataset, Location
1111
from shared.database.database import with_db_session
12-
from shared.helpers.logger import Logger
12+
from shared.helpers.logger import init_logger
1313
from shared.helpers.pub_sub import publish_messages
1414

15-
logging.basicConfig(level=logging.INFO)
15+
16+
init_logger()
1617

1718

1819
@with_db_session
@@ -30,7 +31,7 @@ def get_feeds_data(
3031
.filter(Gtfsdataset.latest)
3132
)
3233
if country_codes:
33-
logging.info(f"Getting feeds for country codes: {country_codes}")
34+
logging.info("Getting feeds for country codes: %s", country_codes)
3435
query = query.filter(
3536
Gtfsfeed.locations.any(Location.country_code.in_(country_codes))
3637
)
@@ -42,7 +43,7 @@ def get_feeds_data(
4243
query = query.filter(~Gtfsfeed.feedlocationgrouppoints.any())
4344

4445
results = query.populate_existing().all()
45-
logging.info(f"Found {len(results)} feeds.")
46+
logging.info("Found %s feeds.", len(results))
4647

4748
data = [
4849
{
@@ -74,18 +75,17 @@ def parse_request_parameters(request: flask.Request) -> Tuple[List[str], bool]:
7475
def reverse_geolocation_batch(request: flask.Request) -> Tuple[str, int]:
7576
"""Batch function to trigger reverse geolocation for feeds."""
7677
try:
77-
Logger.init_logger()
7878
country_codes, include_only_unprocessed = parse_request_parameters(request)
7979
feeds_data = get_feeds_data(country_codes, include_only_unprocessed)
80-
logging.info(f"Valid feeds with latest dataset: {len(feeds_data)}")
80+
logging.info("Valid feeds with latest dataset: %s", len(feeds_data))
8181

8282
pubsub_topic_name = os.getenv("PUBSUB_TOPIC_NAME", None)
8383
project_id = os.getenv("PROJECT_ID")
8484

85-
logging.info(f"Publishing to topic: {pubsub_topic_name}")
85+
logging.info("Publishing to topic: %s", pubsub_topic_name)
8686
publish_messages(feeds_data, project_id, pubsub_topic_name)
8787

8888
return f"Batch function triggered for {len(feeds_data)} feeds.", 200
8989
except Exception as e:
90-
logging.error(f"Execution error: {e}")
90+
logging.error("Execution error: %s", e)
9191
return "Error while fetching feeds.", 500

0 commit comments

Comments
 (0)