Skip to content

Instantly share code, notes, and snippets.

@julian-west
Last active January 3, 2023 22:56
Show Gist options
  • Save julian-west/c585c441edd46fd3d8f47e4ec378e704 to your computer and use it in GitHub Desktop.
Save julian-west/c585c441edd46fd3d8f47e4ec378e704 to your computer and use it in GitHub Desktop.
Example for setting up logging in a Python project
# src/main.py
import logging
import sys
from data_processing.processor import process_data
from model_training.trainer import train
# instantiate logger
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
# define handler and formatter
handler = logging.StreamHandler()
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(name)s - %(message)s")
# add formatter to handler
handler.setFormatter(formatter)
# add handler to logger
logger.addHandler(handler)
if __name__ == "__main__":
logger.info("Program started")
process_data()
train()
logger.info("Program finished")
#### src/model_training/trainer.py ####
import logging
logger = logging.getLogger(__name__)
def train():
"""Dummy training function"""
logger.info("Training model")
# model training code here
logger.info("Model training complete")
#### src/data_processing/processor.py ####
import logging
logger = logging.getLogger(__name__)
def process_data():
"""Dummy data processing function"""
logger.info("Pre-processing data")
# data preprocessing code here...
logger.info("Data pre-processing complete")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment