A useful logging library for Python
Project description
NsparkleLog日志库
描述
原来SparkleLogging日志库的新版,新的SparkleLogging日志库是从底层开始写起来的,并没有基于logging标准库往上搭建,所以功能暂时不完善。
Get started
一般来说,你只需要简单的
from NsparkleLog import logger
# 就可以开始记录日志
logger.trace("test")
logger.debug("test")
logger.info("test")
logger.warning("test")
logger.error("test")
logger.fatal("test")
[2024/6/22 15:26]
更新了NsparkleLogHandler类用于转发logging日志消息到NsparkleLog日志库
- 用法如下
from NsparkleLog import NsparkleLogHandler
import logging
logger = logging.getLogger("test")
handler = NsparkleLogHandler()
logger.addHandler(handler)
logger.setLevel(logging.DEBUG)
logger.debug("debug")
logger.info("info")
logger.warning("warning")
logger.error("error")
logger.critical("critical")
[2024/6/21 17:26]
更新了一个config接口用于配置日志
- 用法
from NsparkleLog import LogManager , Levels , StreamHandler
LogManager.config(
handlers=[StreamHandler()],
level=Levels.TRACE,
colorMode=True,
)
logger = LogManager.GetLogger("test")
logger.trace("Hello, World!")
logger.debug("Hello, World!")
logger.info("Hello, World!")
logger.warning("Hello, World!")
logger.error("Hello, World!")
logger.fatal("Hello, World!")
[2024/6/5 22:14]
更新了类似loguru的catch装饰器
- 现在可以用@logger.catch来捕获函数中的异常并打印堆栈
from NsparkleLog import logger
@logger.catch
def test():
raise Exception("this is a test exception")
test()
output:
2024-06-05 22:13:03.793 | ERROR | MainProcess.MainThread | main.wrapper | NsparkleLog\core\_logger.py:60 - 发生异常:
An Fatal Error has occurred: Exception: This is an exception
Traceback (most recent call last):
at wrapper in (f:\python_play\NsparkleLog\NsparkleLog\core\_logger.py:58)
at test in (f:\python_play\NsparkleLog\asynctest.py:12)
[2024/6/4 21:52]
更新trace方法
- trace方法现在支持withStackTrace参数,如果为True,则包含堆栈跟踪,否则只记录信息
from NsparkleLog import logger
logger.trace("This is a trace message",withStackTrace=True)
output:
2024-06-04 21:50:44.840 | TRACE | MainProcess.MainThread | main.<module> | asynctest.py:3 - This is a trace message
Stack Trace:
at <module> in (f:\python_play\NsparkleLog\asynctest.py:3)
[2024/6/2 14:01]
更新了logger.exception接口
from NsparkleLog import logger
try:
raise Exception
except Exception as e:
logger.exception(e)
[2024/6/1 18:51]
完善多线程,多进程,异步的安全
[2024/5/30 21:33]
日志库不用再需要显示调用close方法来释放资源,主线程退出后会自动释放资源
更新了setLevel接口用于设置日志级别过滤
- 同时修复了一个addNewLevel可能会覆盖自己日志库定义等级的bug
from NsparkleLog import logger
from NsparkleLog.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 NsparkleLog import logger
TEST = 25
logger.addNewLevel("test", TEST, 91, "bright_magenta")
logger.log(TEST, "test")
FileHandler用法
from NsparkleLog import logger
from NsparkleLog.core._handler import FileHandler
from NsparkleLog.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")
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.1.5.tar.gz
(13.2 kB
view details)
Built Distribution
File details
Details for the file nsparklelog-1.1.5.tar.gz
.
File metadata
- Download URL: nsparklelog-1.1.5.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5058fd09234098d96f9dc0f2f5620f74b2b958c1bdbb336c9caf0687e31a08c |
|
MD5 | 3062a5c82c889b6925582c09404825c9 |
|
BLAKE2b-256 | 97f57f85f089c0a57e83edeb5a216b803520c450dbe63c52d2ab0b0c9550ddd9 |
File details
Details for the file NsparkleLog-1.1.5-py3-none-any.whl
.
File metadata
- Download URL: NsparkleLog-1.1.5-py3-none-any.whl
- Upload date:
- Size: 18.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a98138438f590c06b41a672e5d2d720b06f7c4ef05f94b1fa54abb0ce8b5ccb |
|
MD5 | bc0b4d5ab8fc0480b81d8987893b6420 |
|
BLAKE2b-256 | efb0bb1a513fac5a3da43fbe9a7943cb0d8b174b6acd9a31b74c29b4321651c8 |