A logging package for tracing function calls with error handling and email notification
Project description
TrackLogging
TrackLogging is a logging package for tracing function calls with error handling and email notification.
Installation
You can install TrackingLog using pip:
pip install trackinglog
Github URL
https://github.com/shiyi-yinghao/trackinglog
PyPi URL
https://pypi.org/project/trackinglog/
version History
0.1.0 Package Draft created
0.1.1 Decorator get_log and directly object creator get_logger created. Added setup check decorator. Added p-functions(print and log).
0.1.2 Added error handling. Added verbose option for decorator. Added called function name.
0.1.3 Added profiler for both function level and line level. Updated error handling logic: reset verbose to False, but it will now raise error instead. Added class name to log. Added dependency pakages. Added resource performance tracking.
0.1.4 Formatted the logging message with indentation. Add print to log feature. Refactor the get_log function.
0.1.5 Added cache log cleaner.
0.1.6 Updated Log config to Parameter config. Added inline log usage.
Feature in developing
Add public and private log
Add Added email notification.
Add Kafka message notification
Uaage for function and quick settings:
import logging
import trackinglog
import inspect
# Setup the LogManager with root logging path
trackinglog.logger.setup(root_task_path='./logs')
@trackinglog.logger.get_log('my_logger', verbose=1, enable_profiling="line")
def my_function(log=None): # Notice how the log parameter is expected
log.info("This function does something important.")
print("Function is executing...")
# assert False, "This function is broken!"
my_function() # Running the function will log start and end, using the specific logger
Usage for class and comprehensive settings:
import logging
import trackinglog
import inspect
trackinglog.logger.setup(root_task_path='./logs', log_config={'root_log_path':"./logs", '_cache_log_path':"./logs/cache", 'cache_log_num_limit':10, '_cache_log_day_limit':7},
email_credential={'username':"PLACEHOLDER", 'password':"PLACEHOLDER", 'root_emails_folder':"./logs/emails"},
lock_config={"lock_folder_path":"./logs/locks"})
@trackinglog.logger.get_log('my_logger_cls', verbose=1, enable_profiling="line", print2log=True)
class testclass:
def __init__(self, a: int):
self.a=a
def p(self):
self.log.info("class log")
# assert False , "This function is broken!"
def count(self, n: int):
for i in range(n):
print(i)
t=testclass(2.2)
t.p()
t.count(3)
Usage inside a function:
trackinglog.logger.setup(root_task_path='./logs')
def my_function():
log=trackinglog.logger.get_logger('my_logger_func')
log.info("This function does something important.")
print("Function is executed")
my_function()
Configuration and Parameters:
trackinglog.logger.setup(root_log_path='./logs') @trackinglog.logger.get_log('my_logger_cls', verbose=1, enable_profiling="function", print2log=True)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file trackinglog-0.1.6.tar.gz
.
File metadata
- Download URL: trackinglog-0.1.6.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e835c0df2dcb46a3d7122bb3a05c9a220e34b0591eb1241faa76b4ca26d1623b |
|
MD5 | b705de12e13f2c2c1df4a3813e6dc23d |
|
BLAKE2b-256 | f17a2e8bdbb2279f44db933062fbf2e9c3434eeeb002a8788fedda2da2b34c1a |
File details
Details for the file trackinglog-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: trackinglog-0.1.6-py3-none-any.whl
- Upload date:
- Size: 12.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 993a0cd983aa5f651c301b41d14e48c37fac8d84b74fec5af21461fdd3e266d0 |
|
MD5 | ce815959c304df6b3913dbbf8740956f |
|
BLAKE2b-256 | 830dadc682d66c63662415420cfb54a96c6406e261912956627919185b1bee24 |