Skip to main content

一个简单易用的Python日志工具,提供开箱即用的日志管理功能

Project description

EasyLog - 简化易用的Python日志库

PyPI Python Version License

EasyLog 是一个简化易用的 Python 日志管理模块,提供统一、开箱即用的日志服务。支持多级别日志、文件轮转、控制台输出,并具有完善的错误处理机制。

特性

  • 🚀 开箱即用,无需复杂配置
  • 📝 支持日志分级(DEBUG/INFO/WARNING/ERROR/CRITICAL)
  • 🔄 自动日志文件轮转,防止单个文件过大
  • 🖥️ 同时支持文件日志和控制台输出
  • 🛡️ 完善的错误处理和目录自动创建
  • 🌐 支持 Uvicorn 日志集成,适合 FastAPI 等 web 框架
  • 🔒 单例模式设计,确保全局日志配置一致

安装

pip install easylogz

快速开始

基本使用

from easylogz import get_logger

# 获取日志器(首次调用会自动初始化日志系统)
logger = get_logger("my_module")

# 输出不同级别日志
logger.debug("这是调试信息")
logger.info("这是普通信息")
logger.warning("这是警告信息")
logger.error("这是错误信息")
logger.critical("这是严重错误信息")

自定义配置

from easylogz import setup_logging, get_logger

# 显式配置日志系统
setup_logging({
    "log_level": "DEBUG",  # 日志级别
    "log_dir": "/path/to/logs",  # 日志目录
    "log_filename": "app.log",  # 日志文件名
    "max_bytes": 5 * 1024 * 1024,  # 单个日志文件最大大小(5MB)
    "backup_count": 5,  # 保留的备份日志数量
    "console_output": True  # 是否输出到控制台
})

# 使用配置好的日志器
logger = get_logger("my_app")
logger.info("应用启动")

Uvicorn 集成

在 FastAPI 等使用 Uvicorn 的框架中,确保日志格式统一:

from fastapi import FastAPI
import uvicorn
from easylogz import setup_logging, get_uvicorn_log_config, get_logger

# 配置日志
setup_logging({
    "log_level": "INFO",
    "console_output": True,
    "configure_uvicorn_logging_runtime": True
})

app = FastAPI()
logger = get_logger("fastapi_app")


@app.get("/")
async def root():
    logger.info("收到请求")
    return {"message": "Hello World"}


if __name__ == "__main__":
    # 使用 EasyLog 的配置来运行 Uvicorn
    uvicorn.run(
        "main:app",
        host="0.0.0.0",
        port=8000,
        log_config=get_uvicorn_log_config()  # 使用统一日志配置
    )

许可证

MIT License. 详细信息请查看 LICENSE 文件。

贡献

欢迎提交 Issue 和 Pull Request 来帮助改进这个项目。

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

easylogz-0.1.1.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

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

easylogz-0.1.1-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for easylogz-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0272664d8419e257905bdfa0a269a2d4105d42b3c6af63a31be1c060fc4ce1a2
MD5 8452c3181ded97c82fb725c71c4b1432
BLAKE2b-256 991589fa7b2a6c5f2d20f558fee1765cc1c9ccd93ab310cefaf09789831b6150

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for easylogz-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ec7bc0dab67bd68cf6aa116b918e5c498168d3eef7f83b459a4678b47cff3225
MD5 9342a749c2b3695810963cea2783a454
BLAKE2b-256 93cc3da41c9e9008d7d0fb58045327506483c1c938cdf6443fbac6ad67229a55

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