A logging library for Python
Project description
SparkleLogging日志库 [new]
描述
新的 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方法来提升灵活性
```python
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
Built Distribution
File details
Details for the file SparkleLogging-new-1.0.1.tar.gz
.
File metadata
- Download URL: SparkleLogging-new-1.0.1.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f1511e605ce7e658fbb7542bf5496b23819c9b0dfdf1c3a04e407ad90d51195 |
|
MD5 | 81e2c343e1c6f6a7b637b5a2bffc47d7 |
|
BLAKE2b-256 | f9ba33066d25bcb1722a843b8ab3325823fae2aa4e90935f29823ca44a256c61 |
File details
Details for the file SparkleLogging_new-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: SparkleLogging_new-1.0.1-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 | 36b961f154bd8b976b9d8d0c33d7694b750d38961b11b5e7847e8c50a480edb6 |
|
MD5 | 7233a4d7c4fbb67d9eef3eb1687623d9 |
|
BLAKE2b-256 | 78461c3baa307a0f492f1d292e4583aa9f0a44c3e40c250054401d8f205dee5c |