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.0.tar.gz (10.9 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.0-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

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

Hashes for logbolt-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3c546a411db249471a766a2898fc43ade9d307719dd2daf835c9e1d711f5be06
MD5 ca8873728b4ad699ba97c95e20eb68cf
BLAKE2b-256 3a270e089f11c0c09f5951958b6aff2de804765ca72d188c24cc03e458e60ca1

See more details on using hashes here.

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

Hashes for logbolt-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 641b27c43dff0a266deb7745d1274ca0dc5c1cad0c9163f739d3ff6791a1bf6d
MD5 31d902ba7c122f8cf023c76483bd986f
BLAKE2b-256 04287c25a157187a6b9ebca9bced51f3dd6a9a1200d940928db1eb8aa8d44b05

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