Skip to content

Commit

Permalink
Move logger in start and add level config option
Browse files Browse the repository at this point in the history
  • Loading branch information
dmi-vd committed Jul 25, 2023
1 parent fcf126f commit 18e2a62
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 39 deletions.
17 changes: 0 additions & 17 deletions ambrogio/cli/logger.py

This file was deleted.

4 changes: 2 additions & 2 deletions ambrogio/cli/prompt.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
from time import sleep
from datetime import datetime
import json
import logging

import inquirer
from inquirer.themes import Theme, term

from ambrogio.cli.logger import logger
from ambrogio.utils.threading import pause_event, exit_event
from ambrogio.utils.validators import (
validate_date,
Expand All @@ -31,7 +31,7 @@ def ask_for_interrupt():
if confirm:
exit_event.set()

logger.warning('Interrupting program...')
logging.warning('Interrupting program...')

sys.exit(0)

Expand Down
14 changes: 14 additions & 0 deletions ambrogio/cli/start.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
from threading import Thread
from time import sleep
import logging

from rich.logging import RichHandler
from rich import traceback

from ambrogio.cli.prompt import Prompt
from ambrogio.cli.dashboard import Dashboard
Expand Down Expand Up @@ -35,6 +39,16 @@ def start():
live performances monitoring.
"""
config = init_env()

# Set up logging
FORMAT = "%(message)s"
logging.basicConfig(
level=config['settings']['log_level'],
format=FORMAT,
datefmt="[%X]",
handlers=[RichHandler(rich_tracebacks = True)]
)
traceback.install(show_locals = True)

procedure_loader = ProcedureLoader(config)
procedure_list = procedure_loader.list()
Expand Down
7 changes: 0 additions & 7 deletions ambrogio/procedures/__init__.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
from typing import Optional, List
from configparser import ConfigParser
import logging

from rich.panel import Panel

from ambrogio.environment import get_closest_ini
from ambrogio.procedures.param import ProcedureParam
from ambrogio.cli.prompt import Prompt


class Procedure:
Expand All @@ -20,17 +18,12 @@ class Procedure:

config: Optional[ConfigParser] = None

logger: logging.Logger
prompt: Prompt = Prompt()

_finished: bool = False

def __init__(self, config: Optional[ConfigParser] = None):
if not getattr(self, 'name', None):
raise ValueError(f"{type(self).__name__} must have a name")

self.logger = logging.getLogger(self.name)

self._check_params()

if not config:
Expand Down
4 changes: 2 additions & 2 deletions ambrogio/procedures/basic.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ def _execute(self) -> Any:
Execute the procedure.
"""

self.logger.info(f'Executing "{self.name}" procedure...')
logging.info(f'Executing "{self.name}" procedure...')

result = self.execute()
self._finished = True

self.logger.info(f'Procedure "{self.name}" executed successfully')
logging.info(f'Procedure "{self.name}" executed successfully')

return result

Expand Down
20 changes: 10 additions & 10 deletions ambrogio/procedures/step.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ def _execute(self) -> Any:
Execute the procedure.
"""

self.logger.info(f"Executing '{self.name}' procedure...")
logging.info(f"Executing '{self.name}' procedure...")

self.set_up()

Expand All @@ -118,7 +118,7 @@ def _execute(self) -> Any:
args=(step,)
)

self.logger.debug(f"Starting parallel step '{step['name']}'...")
logging.debug(f"Starting parallel step '{step['name']}'...")
parallel_step.start()
self._parallel_steps.append(parallel_step)

Expand All @@ -137,7 +137,7 @@ def _execute(self) -> Any:

self.tear_down()

self.logger.info(f"Procedure '{self.name}' executed successfully")
logging.info(f"Procedure '{self.name}' executed successfully")

def set_up(self):
"""
Expand Down Expand Up @@ -189,7 +189,7 @@ def add_step(
}

if add_before:
self.logger.debug(
logging.debug(
f"Adding step '{name}' before '{add_before}' to procedure "
f"'{self.name}'"
)
Expand All @@ -205,7 +205,7 @@ def add_step(
raise ValueError(f"Step '{add_before}' not found")

else:
self.logger.debug(
logging.debug(
f"Adding step '{name}' to procedure '{self.name}'"
)
self._steps.append(new_step)
Expand All @@ -222,20 +222,20 @@ def _execute_step(self, step: dict):
:raises Exception: If the step raises an exception.
"""

self.logger.debug(f"Executing step '{step['name']}'...")
logging.debug(f"Executing step '{step['name']}'...")

try:
step['function'](**step['params'])
self._completed_steps += 1

self.logger.debug(f"Step '{step['name']}' executed successfully")
logging.debug(f"Step '{step['name']}' executed successfully")

except Exception as e:
self.logger.error(f"Step '{step['name']}' raised an exception: {e}")
logging.error(f"Step '{step['name']}' raised an exception: {e}")
self._failed_steps += 1

if step['blocking']:
self.logger.error('Stopping procedure execution')
logging.error('Stopping procedure execution')
exit_event.set()
raise e

Expand All @@ -244,7 +244,7 @@ def _join_parallel_steps(self):
Join the parallel steps.
"""

self.logger.debug('Joining parallel steps...')
logging.debug('Joining parallel steps...')

for step in self._parallel_steps:
if step.is_alive():
Expand Down
3 changes: 2 additions & 1 deletion ambrogio/utils/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ def create_project(

config = ConfigParser()
config['settings'] = {
'procedure_module': procedure_module_name
'procedure_module': procedure_module_name,
'log_level': 'NOTSET'
}

config_path: Path = project_path / 'ambrogio.ini'
Expand Down

0 comments on commit 18e2a62

Please sign in to comment.