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.2.tar.gz (12.9 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.2-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: easylogz-0.1.2.tar.gz
  • Upload date:
  • Size: 12.9 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.2.tar.gz
Algorithm Hash digest
SHA256 aaf47a1589b672d160afd1a515d6d2f751f88ed0894faaf01bfd41949f39eaf9
MD5 4617c2ffe5c61ff386a611102f66757d
BLAKE2b-256 5845465b979f2c493087e1ef4f840872fe4924c215c964f97a110f7eac4d3b79

See more details on using hashes here.

File details

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

File metadata

  • Download URL: easylogz-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 10.3 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 93f81caff49c8d242f5bb685321339ff03a20e56206c73ef83b706df7eaa5326
MD5 d6a601c66d55020199fa6ddece0e4424
BLAKE2b-256 ab26961d13b5d414c18b3923ce225f3a28408dd73f13d4e7f9d905c820e68049

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