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 easylog

快速开始

基本使用

from easylog import get_logger

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

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

自定义配置

from easylog 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 easylog 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.0.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.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: easylogz-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 12318660cebd3ae6e06d476966c0df4d136f8f8da84dbc9d1babc3ddfc2f6070
MD5 ba54863d8cad66ab339e5d13b1678323
BLAKE2b-256 9eeea07978194ee7cb09c52daae585aeb32c12539d37f472d125eb9b49e99894

See more details on using hashes here.

File details

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

File metadata

  • Download URL: easylogz-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 36c06f0361af8414de90bc77107b2cf9c543a5dfe59d5ad1913b89d14ca405d6
MD5 c01521bc5d54d2d7dbc8f19ba24a39cf
BLAKE2b-256 b210b440ed6e7b69b9fc3000c20b53a9c708439ee6cf87de573be92ebfa1b070

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