Skip to content

A wrapper on the logging module for Python that provides a simple and easy to use interface for logging.

License

Notifications You must be signed in to change notification settings

hsteinshiromoto/cartorio

Repository files navigation

DOI Documentation Status GitHub tag (latest SemVer) LICENSE

1. Cartorio

A wrapper on the logging module for Python that provides a simple and easy-to-use interface for logging.

2. Contents

3. Installation

pip install cartorio

4. Documentation

https://cartorio.readthedocs.io/en/stable/

5. Usage

Consider that your project consists of two scripts:

parent.py
child/
└──  child.py

An example of these scripts are:

# parent.py

from pathlib import Path
from cartorio import make_logger, log

from child.child import multiply

@log
def main()
    multiply(10, 1)

if __name__ == "__main__":
    # Instantiation of log file
    logger, _ = make_logger(filename=Path(__file__).resolve().stem, logs_path=Path(__file__).resolve().parent)
    # where,
    # filename (str, Path): Log file.
    # logs_path (Path): Path where the log file is saved to.
    main()
# child.py

from cartorio import fun, log

@log
def multiply(num1, num2):
    return num1 * num2

The log filename will be parent_<timestamp>.log and it will contain the information in the form

<timestamp> || root || 30664 || INFO || parent.py || parent || <line_number> || Enter || multiply
<timestamp> || root || 30664 || INFO || parent.py || parent || <line_number> || Leave || multiply || Elapsed: 0:00:00.001708