Classed based logger for Python
Project description
Class Based Logger for Python
Installation
pip install tdlogging
Doc
Configuration File
tdlogger.txt
A config text file for TDLogger
exception
log exceptionscount
log counttime
log time elapsedreturn
log return valueexec
log allpoll
whether to poll for tdlogger.txt changespoll_period
seconds between each poll
TDLogger.py
TDLogger
Python Class
__init__
Constructor
file_path
path of tdlogger.txtconfig
custom config in python dict that overrides tdlogger.txtalias
a name for your logger
.config()
Get the Logger decorator from its Configuration
ApplyDecorators
Python Function
Parameters
target_dir
Directory that is affectedimport_root
Python import name of your tdlogger instancevar_name
Variable name of the TDLogger instance in your fileforce
Whether to ignore applying at the current file levelverbose
Whether to log changes
DANGEROUS, use with caution
Apply decorators to every python file in the Directory, and also marking the file
RemoveDecorators
Python Function
Parameters
target_dir
Directory that is affectedimport_root
Python import name of your tdlogger instancevar_name
Variable name of the TDLogger instance in your fileforce
Apply Changes without confirmationverbose
Whether to log changes
DANGEROUS, use with caution
Remove decorators to every python file in the Directory, and also removing the mark headings
Usage
Example
๐ฆexample
โฃ ๐cool
โ โฃ ๐cooler
โ โ โฃ ๐sleep.py
โ โ โ ๐__init__.py
โ โฃ ๐fib.py
โ โ ๐__init__.py
โฃ ๐logger_instance.py
โฃ ๐playground.py
โฃ ๐tdlogger.txt
โ ๐__init__.py
# example/tdlogger.txt
exception = False
count = False
exec = True
time = False
return = False
poll = False
poll_period = 5
# example/cool/fib.py
class Fib:
@staticmethod
def get_n(n):
a = 0
b = 1
if n == 0:
return a
elif n == 1:
return b
else:
for i in range(2, n):
c = a + b
a = b
b = c
return b
# example/cool/cooler/sleep.py
import time
class Sleep:
@staticmethod
def sleep(n):
time.sleep(n)
# example/logger_instance.py
from tdlogging.tdlogger import TDLogger
logger = TDLogger(alias="My Custom Logger").config()
# example/playground.py
from tdlogging.tdlogger import ApplyDecorators, RemoveDecorators
ApplyDecorators(target_dir="cool", import_root="example.logger_instance", var_name="logger", force=True)
for i in range(12):
from example.cool.cooler.sleep import Sleep
from example.cool.fib import Fib
print(Fib.get_n(i))
Sleep.sleep(1)
RemoveDecorators(target_dir="cool", import_root="example.logger_instance", var_name="logger", force=True)
> python example/playground.py
Added 6 lines to 2 file(s) .
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ --Method Execution-- โ
โ Alias: My Custom Logger โ
โ Class: Fib โ
โ Method: get_n โ
โ Count: 1 โ
โ Exec Time: 0.000s โ
โ Return Value: 0 โ
โ Return Type: <class 'int'> โ
โ Arguments: { โ
โ 'n': 0 โ
โ } โ
โ tdlogger โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
0
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ --Method Execution-- โ
โ Alias: My Custom Logger โ
โ Class: Sleep โ
โ Method: sleep โ
โ Count: 1 โ
โ Exec Time: 1.001s โ
โ Return Value: None โ
โ Return Type: <class 'NoneType'> โ
โ Arguments: { โ
โ 'n': 1 โ
โ } โ
โ tdlogger โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
3
.
.
.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ --Method Execution-- โ
โ Alias: My Custom Logger โ
โ Class: Sleep โ
โ Method: sleep โ
โ Count: 12 โ
โ Exec Time: 1.000s โ
โ Return Value: None โ
โ Return Type: <class 'NoneType'> โ
โ Arguments: { โ
โ 'n': 1 โ
โ } โ
โ tdlogger โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Removed 6 lines from 2 file(s) .
Process finished with exit code 0
Change log
[0.0.5] - 2020-04-12
Added
ApplyDecorator()
RemoveDecorator()
[0.0.4] - 2020-04-02
Fixed unable to install
[0.0.3] - 2020-04-02
Fixed Markdown file
[0.0.2] - 2020-04-02
Added
tdprinter.py
Edited
tdprinter.py
tdlogger.py
[0.0.1] - 2020-04-01
Added
tdlogger.py
HISTORY.md
README.md
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
Hashes for tdlogging-0.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f35efb301a376b4a415df6b393566e028dd2c9134809b2deedd7af73f5315b3e |
|
MD5 | 6421d0d91201169e9df4f3630843932b |
|
BLAKE2b-256 | 62a14e1e17951b54161c8a8075c5a0c02d430456171a8a196e97fcc03b360b5c |