# SingleLog
Project description
SingleLog
A python logger, super easy to use and thread safe.
Install
pip install SingleLog
Tutorials
Init
from SingleLog import Logger
from SingleLog import LogLevel
log_level = LogLevel.INFO # default
# log_level = Logger.DEBUG
# log_level = Logger.TRACE
logger = Logger('demo', log_level)
Display
from SingleLog import Logger
logger = Logger('demo')
logger.info(1)
logger.debug(2)
logger.trace(3)
Result
[20210501 11:19:48][demo] 1
When the log level is set to LogLevel.DEBUG
or LogLevel.TRACE
, the location will be displayed.
from SingleLog import Logger
from SingleLog import LogLevel
logger = Logger('demo', LogLevel.TRACE)
logger.info('This is the description', 'demo')
logger.debug('This is the description', 'demo')
logger.trace('This is the description', 'demo')
Result
[20211104 09:13:16][demo] This is the description [demo]
[20211104 09:13:16][demo][demo.py 7] This is the description [demo]
[20211104 09:13:16][demo][demo.py 8] This is the description [demo]
SingleLog Supports some common types to display. Such as list, dict and tuple.
from SingleLog import Logger
logger = Logger('demo')
logger.info('show int list', [101, 102, 103])
logger.info('show tuple', ('12', '14', '16'))
logger.info('data', {'1': 'value1', '2': 'value2'})
Result
[20210501 12:14:48][demo] show int list [101 102 103]
[20210501 12:14:48][demo] show tuple (12 14 16)
[20210501 12:14:48][demo] data
{
"1": "value1",
"2": "value2"
}
SingleLog supports args as parameter.
It helps you to format your log message
from SingleLog import Logger
logger = Logger('demo')
logger.info('This is the description', 'value 0', 'value 1', 99)
Result
[20210501 12:10:01][demo] This is the description [value 0] [value 1] [99]
Handler
Sometimes, you want to catch the log message at higher level.
Use log handler.
from SingleLog import Logger
from SingleLog import LogLevel
def log_to_file(msg):
with open('single_log.txt', 'a', encoding='utf8') as f:
f.write(f'{msg}\n')
logger = Logger('INFO', LogLevel.INFO, handler=log_to_file)
logger.info('1')
logger.info(2)
logger.info('show value', 456)
Handler can also be a list.
from SingleLog import Logger
from SingleLog import LogLevel
def log_to_file(msg):
with open('single_log.txt', 'a', encoding='utf8') as f:
f.write(f'{msg}\n')
def log_to_file2(msg):
with open('single_log_2.txt', 'a', encoding='utf8') as f:
f.write(f'{msg}\n')
logger = Logger('INFO', LogLevel.INFO, handler=[log_to_file, log_to_file2])
logger.info('1')
logger.info(2)
logger.info('show value', 456)
In this demo, the log message will display on the screen.
Also you can find it in local file.
You can check all the demo in demo.py.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
SingleLog-2.0.0.tar.gz
(8.5 kB
view details)
Built Distribution
File details
Details for the file SingleLog-2.0.0.tar.gz
.
File metadata
- Download URL: SingleLog-2.0.0.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca884d8b1ca5c87d1dd206598772b89ce0117ec443e942f13f2e6b4fa2e7d58b |
|
MD5 | 3561934666e492eba5b11a6aa2e8d59d |
|
BLAKE2b-256 | 5b7883e662472159c812c62664c1cf1cac0d17742cf7d610f24397be150959e1 |
File details
Details for the file SingleLog-2.0.0-py2.py3-none-any.whl
.
File metadata
- Download URL: SingleLog-2.0.0-py2.py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 994ed1d09c455212e6eaec9d0328c8b27f4553bce5d91c048346c240a9155d72 |
|
MD5 | 22b8b09d848857866421aa23c5789efa |
|
BLAKE2b-256 | 5d61e397ed54bf81281f97e4c9672221e0a7509c825276c6be7800258b4cf54d |