From 9863019d0a28ef5b873297d57912498cf244ebf9 Mon Sep 17 00:00:00 2001 From: Mikhail Yohman Date: Sat, 15 Feb 2025 15:10:45 -0700 Subject: [PATCH 1/3] Test building in logger to InfrahubGenerator class to allow logs to be easily propagated via CTL and CI pipeline logs. --- infrahub_sdk/ctl/generator.py | 5 +++-- infrahub_sdk/generator.py | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/infrahub_sdk/ctl/generator.py b/infrahub_sdk/ctl/generator.py index 689f17e3..31853521 100644 --- a/infrahub_sdk/ctl/generator.py +++ b/infrahub_sdk/ctl/generator.py @@ -1,5 +1,6 @@ from __future__ import annotations +import logging from pathlib import Path from typing import TYPE_CHECKING @@ -9,7 +10,7 @@ from ..ctl import config from ..ctl.client import initialize_client from ..ctl.repository import get_repository_config -from ..ctl.utils import execute_graphql_query, parse_cli_vars +from ..ctl.utils import execute_graphql_query, init_logging, parse_cli_vars from ..exceptions import ModuleImportError from ..node import InfrahubNode @@ -25,6 +26,7 @@ async def run( branch: str | None = None, variables: list[str] | None = None, ) -> None: + init_logging(debug=debug) repository_config = get_repository_config(Path(config.INFRAHUB_REPO_CONFIG_FILE)) if list_available or not generator_name: @@ -34,7 +36,6 @@ async def run( generator_config = repository_config.get_generator_definition(name=generator_name) console = Console() - relative_path = str(generator_config.file_path.parent) if generator_config.file_path.parent != Path() else None try: diff --git a/infrahub_sdk/generator.py b/infrahub_sdk/generator.py index e6448b3e..3ba6c767 100644 --- a/infrahub_sdk/generator.py +++ b/infrahub_sdk/generator.py @@ -1,5 +1,6 @@ from __future__ import annotations +import logging import os from abc import abstractmethod from typing import TYPE_CHECKING @@ -27,6 +28,7 @@ def __init__( generator_instance: str = "", params: dict | None = None, convert_query_response: bool = False, + logger: logging.Logger | None = None, ) -> None: self.query = query self.branch = branch @@ -41,6 +43,7 @@ def __init__( self._related_nodes: list[InfrahubNode] = [] self.infrahub_node = infrahub_node self.convert_query_response = convert_query_response + self.logger = logger if logger else logging.getLogger("infrahub.tasks") @property def store(self) -> NodeStore: From a043929c17193e911e39b7b1dfdf1ae1599c110b Mon Sep 17 00:00:00 2001 From: Mikhail Yohman Date: Sat, 15 Feb 2025 16:07:07 -0700 Subject: [PATCH 2/3] Remove unused logging import. --- infrahub_sdk/ctl/generator.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/infrahub_sdk/ctl/generator.py b/infrahub_sdk/ctl/generator.py index 31853521..5258caa6 100644 --- a/infrahub_sdk/ctl/generator.py +++ b/infrahub_sdk/ctl/generator.py @@ -1,6 +1,5 @@ from __future__ import annotations -import logging from pathlib import Path from typing import TYPE_CHECKING @@ -21,7 +20,7 @@ async def run( generator_name: str, path: str, # noqa: ARG001 - debug: bool, # noqa: ARG001 + debug: bool, list_available: bool, branch: str | None = None, variables: list[str] | None = None, From 357c46f40358b362da0add29c673c158fc0f65f7 Mon Sep 17 00:00:00 2001 From: Mikhail Yohman Date: Thu, 20 Feb 2025 07:03:00 -0600 Subject: [PATCH 3/3] Add changelog to describe change. --- changelog/+add-logger-to-generator-class.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/+add-logger-to-generator-class.md diff --git a/changelog/+add-logger-to-generator-class.md b/changelog/+add-logger-to-generator-class.md new file mode 100644 index 00000000..ab8be4d5 --- /dev/null +++ b/changelog/+add-logger-to-generator-class.md @@ -0,0 +1 @@ +Added logger to `InfrahubGenerator` class to allow users use built-in logging (`self.logger`) to show logging within Infrahub CI pipeline.