https://github.com/mwksolution/mwk-logger
Custom logger with colors on terminal and some useful decorators.
https://github.com/mwksolution/mwk-logger
colored logger
Last synced: 3 days ago
JSON representation
Custom logger with colors on terminal and some useful decorators.
- Host: GitHub
- URL: https://github.com/mwksolution/mwk-logger
- Owner: MWKSolution
- License: mit
- Created: 2022-06-03T15:38:41.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-01-27T18:28:16.000Z (over 2 years ago)
- Last Synced: 2025-01-11T14:47:25.402Z (over 1 year ago)
- Topics: colored, logger
- Language: Python
- Homepage:
- Size: 82 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# MWK logger
---
[](https://pypi.org/project/mwk-logger/)
**Custom logger with colors on terminal.**

**And some useful decorators.**


---
## Installing package
```
pip install mwk-logger
```
---
## Using logger
### 1. Get instance of mwk-logger
```python
from mwk_logger import MwkLogger
log = MwkLogger(name='mwk',
file='logger.log',
stream_level='DEBUG',
file_level='DEBUG',
time=True)
```
*keyword parameters:*
- *name* - name of the logger, by default = 'mwk',
- *file* - path to file to log into, by default = 'mwk.log',
- *stream_level* - logging level for terminal, by default = 'WARNING',
- *file_level* - logging level for file, by default = None,
- *time* - if timestamp should be added to terminal log, by default = False,
LEVELS:
**None** - no logging or:
'**DEBUG**', '**INFO**', '**WARNING**', '**ERROR**', '**CRITICAL**'.
If both levels are set to **None** stream_level is changed to **WARNING**.
Timestamp is always added to file logs. One can set if timestamp will be added to terminal logs.
### 2. Logging
```python
log.debug('This is a debug message.')
log.info('This is an info message.')
log.warning('This is a warning message.')
log.error('This is an error message!')
log.critical('This is a critical message!!!')
log.exception('This is an exception message!')
```
---
## Using decorators
1. **@timer** - print or log the runtime of the decorated function
2. **@f_sig** - print or log the signature and the return value of the decorated function
### 1. Decorator with no arguments
Prints on screen.
```python
from mwk_logger import timer, f_sig
@timer
@f_sig
def function(*args, **kwargs):
# ... some function ...
return 'something'
```
### 1. Decorator with arguments
Output is logged with provided logger with level = **INFO**.
!!! keyword ***logger*** is obligatory !!!
```python
from mwk_logger import MwkLogger, timer, f_sig
log = MwkLogger()
@timer(logger=log)
@f_sig(logger=log)
def function(*args, **kwargs):
# ... some function to be logged...
return 'something'
```
---