A logging library for Python
Project description
NsparkleLog日志库
描述
原来SparkleLogging日志库的新版,新的SparkleLogging日志库是从底层开始写起来的,并没有基于logging标准库往上搭建,所以功能暂时不完善。
CAUTION
注意,虽然我在需要共享资源的地方使用了 "with lock" 来确保线程安全,但这个日志库是我从底层开始编写的, 我无法绝对保证在多线程、多进程或异步环境中的绝对安全性。如果在特定环境下遇到问题,请务必审慎考虑并进行适当的调整。
Get started
一般来说,你只需要简单的
from SparkleLogging import logger
# 就可以开始记录日志
logger.trace("test")
logger.debug("test")
logger.info("test")
logger.warning("test")
logger.error("test")
logger.fatal("test")
更新了setLevel接口用于设置日志级别过滤
- 同时修复了一个addNewLevel可能会覆盖自己日志库定义等级的bug
from SparkleLogging import logger
from SparkleLogging.core._level import Levels
logger.setLevel(Levels.INFO)
logger.trace("Trace message") # 过滤
logger.debug("Debug message") # 过滤
logger.info("Info message")
logger.warning("Warning message")
logger.error("Error message")
logger.fatal("fatal message")
添加了addNewLevel方法来提升灵活性
from SparkleLogging import logger
TEST = 25
logger.addNewLevel("test", TEST, 91, "bright_magenta")
logger.log(TEST, "test")
更新了FileHandler,保证了部分线程安全
from SparkleLogging import logger
from SparkleLogging.core._handler import FileHandler
from SparkleLogging.core._formatter import Formatter
filehandler = FileHandler(filename="test.log", mode="a+")
fmts = Formatter() #懒得设置格式直接这样也行
filehandler.setFormatter(fmts)
logger.addHandler(filehandler)
logger.trace("Trace message")
logger.debug("Debug message")
logger.info("Info message")
logger.warning("Warning message")
logger.error("Error message")
logger.fatal("fatal message")
# 别忘了显示调用close方法释放资源
filehandler.close()
close方法写在了logger中,可以直接调用logger.close()方法来释放资源
from SparkleLogging import logger
from SparkleLogging.core._handler import FileHandler
from SparkleLogging.core._formatter import Formatter
filehandler = FileHandler(filename="test.log", mode="a+")
fmts = Formatter()
filehandler.setFormatter(fmts)
logger.addHandler(filehandler)
logger.trace("Trace message")
logger.debug("Debug message")
logger.info("Info message")
logger.warning("Warning message")
logger.error("Error message")
logger.fatal("fatal message")
#可以直接调用logger.close()方法释放资源,但是注意
# 这个close方法是释放所有的handler的资源比如线程之类的,如果你想要精确控制时机,最好还是手动调用每个handler的close方法
# fliehandler.close()
logger.close()
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
NsparkleLog-1.0.0.tar.gz
(7.8 kB
view details)
Built Distribution
File details
Details for the file NsparkleLog-1.0.0.tar.gz
.
File metadata
- Download URL: NsparkleLog-1.0.0.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 117beeee9f50c6906d107551d60770f8f8e9c8ff82763859a7a51ecb2c52d648 |
|
MD5 | f2eb66879dbfb605c0d135ca7c3b10c7 |
|
BLAKE2b-256 | 55f1b04bd9ef3f7c7217de2ab190827e76bc195e6478ac6c71173b5e55529824 |
File details
Details for the file NsparkleLog-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: NsparkleLog-1.0.0-py3-none-any.whl
- Upload date:
- Size: 11.2 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 | c5e0820333983e32f300695e2664d8f7f977f7156ef2b973b4f4e061808f999c |
|
MD5 | 975adfc9adda481ae12e295225d24cfa |
|
BLAKE2b-256 | f0f2fb0ad3ac760a2651354b68140dff9d00163346f1860f1696dc4676312b15 |