一个简单易用的Python日志工具,提供开箱即用的日志管理功能
Project description
EasyLog - 简化易用的Python日志库
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
Release history Release notifications | RSS feed
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12318660cebd3ae6e06d476966c0df4d136f8f8da84dbc9d1babc3ddfc2f6070
|
|
| MD5 |
ba54863d8cad66ab339e5d13b1678323
|
|
| BLAKE2b-256 |
9eeea07978194ee7cb09c52daae585aeb32c12539d37f472d125eb9b49e99894
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36c06f0361af8414de90bc77107b2cf9c543a5dfe59d5ad1913b89d14ca405d6
|
|
| MD5 |
c01521bc5d54d2d7dbc8f19ba24a39cf
|
|
| BLAKE2b-256 |
b210b440ed6e7b69b9fc3000c20b53a9c708439ee6cf87de573be92ebfa1b070
|