Skip to main content

一个高自定义、高速、简洁的日志IO库

Project description

LogBolt 🚀

一个高自定义、高速、简洁的日志IO库

PyPI version Python 3.8+ License: MIT

特性 ✨

  • 高性能: 专为速度优化的日志处理
  • 高自定义: 灵活的格式化和处理选项
  • 简洁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 文件了解详情。

作者 👨‍💻

链接 🔗


享受高速日志记录的乐趣! 🎉

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.1.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

logbolt-0.1.1-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file logbolt-0.1.1.tar.gz.

File metadata

  • Download URL: logbolt-0.1.1.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for logbolt-0.1.1.tar.gz
Algorithm Hash digest
SHA256 01ae2acd4e037f8e54d8f8b2b67a390c8d5a0b6663d0a17526465d6149187256
MD5 6c16411f671babc292802f398671434c
BLAKE2b-256 425317b5faa9d19e8ab1584483233122f443e98225d670ce3cd80c2c704710ee

See more details on using hashes here.

File details

Details for the file logbolt-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: logbolt-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for logbolt-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4834662644b343ed5190edda00d6f3b15b633b97ad6bed469a151565265d6aea
MD5 8f1c1e12f67394dd53f60b60e4e5f566
BLAKE2b-256 10e01b4da28b3a09ea91ae0d1c44555f3876fb3fa253d365dff0cd64b48f4655

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page