timelogger

A time logger for Python programs


Keywords
debug, time, logging, logger, log, stopwatch, timer
Licenses
LGPL-3.0/GPL-3.0+
Install
pip install timelogger==0.0.3

Documentation

timelogger: A stopwatch-like time logger for Python programs

It provides:
  • Tracking time spent throughout a program in a method similar to a stopwatch
  • Output via standard Python logger for simplicity
Original use case:
  • Python program containing many packages and modules
  • Needed ability to log time gaps in a centralized way.
    • e.g. time consumed for imports or function calls
Installation:
  • pip install timelogger

    (Tested for Python >=3.6.5 on Linux (Ubuntu) and Windows 7/10)

Usage:
  • short example:

    # Set up your root logger, or use logcontrol
    import logcontrol
    
    # Import the package
    import timelogger
    
    # Customize the package logger, if needed
    logcontrol.register_logger(timelogger.logger, "timelogger")
    logcontrol.set_level(logcontrol.DEBUG, group="timelogger")
    logcontrol.log_to_console(group="timelogger")
    
    # Add a start time with a relevant name
    timelogger.start("imports")
    
    # imports of other packages for example purposes
    import binascii
    import decimal
    import hashlib
    import requests
    import threading
    
    # To log the time differential, set a stop time for the same name
    timelogger.stop("imports")
    
    # To set a specific log level for the time differential logs: (default is logging.INFO)
    timelogger.set_log_level(logcontrol.DEBUG)
    
    # To create unique names per-thread, I recommend using thread id:
    timer_name = f"mytimer-{threading.current_thread().ident}"
    timelogger.start(timer_name)
    ...