一个高自定义、高速、简洁的日志IO库
Project description
LogBolt 🚀
一个高自定义、高速、简洁的日志IO库
特性 ✨
- 高性能: 专为速度优化的日志处理
- 高自定义: 灵活的格式化和处理选项
- 简洁API: 简单易用的接口设计
- 线程安全: 多线程环境下的安全操作
- 自动轮转: 支持日志文件自动轮转
- 多处理器: 控制台、文件等多种输出方式
快速开始 🚀
安装
pip install LogBolt
基本用法
from logbolt import LogBolt, LogLevel
# 创建日志器
logger = LogBolt("MyApp")
# 添加控制台处理器
from logbolt.core import ConsoleHandler
console_handler = ConsoleHandler(LogLevel.INFO)
logger.add_handler(console_handler)
# 添加文件处理器
from logbolt.core import FileHandler
file_handler = FileHandler("app.log", LogLevel.DEBUG)
logger.add_handler(file_handler)
# 记录日志
logger.info("应用启动成功")
logger.debug("调试信息")
logger.warning("警告信息")
logger.error("错误信息")
快速配置
from logbolt import quick_setup
# 快速设置控制台和文件日志
logger = quick_setup("app.log", LogLevel.INFO)
logger.info("快速配置完成!")
自定义格式
from logbolt import LogBolt, LogFormatter
from logbolt.core import ConsoleHandler
# 创建自定义格式化器
formatter = LogFormatter(
fmt="{asctime} | {levelname:8} | {message}",
datefmt="%Y-%m-%d %H:%M:%S"
)
# 创建处理器并设置格式
handler = ConsoleHandler(LogLevel.DEBUG)
handler.set_formatter(formatter)
# 创建日志器并添加处理器
logger = LogBolt("CustomApp")
logger.add_handler(handler)
logger.info("自定义格式日志")
高级用法 🔧
日志级别
from logbolt import LogLevel
logger.set_level(LogLevel.DEBUG) # 设置全局日志级别
文件轮转
from logbolt.core import FileHandler
# 配置日志文件轮转 (10MB, 保留5个备份)
handler = FileHandler(
filename="app.log",
level=LogLevel.INFO,
max_bytes=10*1024*1024, # 10MB
backup_count=5
)
多处理器配置
from logbolt import LogBolt
from logbolt.core import ConsoleHandler, FileHandler
logger = LogBolt("MultiHandler")
# 控制台处理器 - INFO级别
console_handler = ConsoleHandler(LogLevel.INFO)
logger.add_handler(console_handler)
# 错误日志文件 - ERROR级别
error_handler = FileHandler("errors.log", LogLevel.ERROR)
logger.add_handler(error_handler)
# 调试日志文件 - DEBUG级别
debug_handler = FileHandler("debug.log", LogLevel.DEBUG)
logger.add_handler(debug_handler)
API文档 📚
LogBolt类
__init__(name: str = "LogBolt")- 创建日志器实例set_level(level: LogLevel)- 设置日志级别add_handler(handler: LogHandler)- 添加处理器remove_handler(handler: LogHandler)- 移除处理器debug(msg: str, **kwargs)- 记录调试信息info(msg: str, **kwargs)- 记录信息warning(msg: str, **kwargs)- 记录警告error(msg: str, **kwargs)- 记录错误critical(msg: str, **kwargs)- 记录严重错误close()- 关闭所有处理器
日志级别
LogLevel.DEBUG- 调试信息 (10)LogLevel.INFO- 信息 (20)LogLevel.WARNING- 警告 (30)LogLevel.ERROR- 错误 (40)LogLevel.CRITICAL- 严重错误 (50)
处理器
ConsoleHandler(level=LogLevel.INFO, stream=None)- 控制台输出FileHandler(filename, level=LogLevel.INFO, max_bytes=10MB, backup_count=5)- 文件输出
性能特点 ⚡
- 异步安全: 线程安全的日志操作
- 内存优化: 高效的内存使用
- 快速格式化: 优化的日志格式化
- 智能轮转: 高效的日志文件轮转
贡献 🤝
欢迎提交 Issue 和 Pull Request!
许可证 📄
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
作者 👨💻
- dhjs0000 - 3110197220@qq.com
链接 🔗
- GitHub仓库: https://github.com/dhjs0000/logbolt
- PyPI页面: https://pypi.org/project/LogBolt/
享受高速日志记录的乐趣! 🎉
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
logbolt-0.1.0.tar.gz
(10.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file logbolt-0.1.0.tar.gz.
File metadata
- Download URL: logbolt-0.1.0.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c546a411db249471a766a2898fc43ade9d307719dd2daf835c9e1d711f5be06
|
|
| MD5 |
ca8873728b4ad699ba97c95e20eb68cf
|
|
| BLAKE2b-256 |
3a270e089f11c0c09f5951958b6aff2de804765ca72d188c24cc03e458e60ca1
|
File details
Details for the file logbolt-0.1.0-py3-none-any.whl.
File metadata
- Download URL: logbolt-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
641b27c43dff0a266deb7745d1274ca0dc5c1cad0c9163f739d3ff6791a1bf6d
|
|
| MD5 |
31d902ba7c122f8cf023c76483bd986f
|
|
| BLAKE2b-256 |
04287c25a157187a6b9ebca9bced51f3dd6a9a1200d940928db1eb8aa8d44b05
|