Last active
January 3, 2023 22:56
-
-
Save julian-west/c585c441edd46fd3d8f47e4ec378e704 to your computer and use it in GitHub Desktop.
Example for setting up logging in a Python project
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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