一个简单易用的Python日志工具,提供开箱即用的日志管理功能
Project description
EasyLog - 简化易用的Python日志库
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
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.2.tar.gz
(12.9 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
easylogz-0.1.2-py3-none-any.whl
(10.3 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aaf47a1589b672d160afd1a515d6d2f751f88ed0894faaf01bfd41949f39eaf9
|
|
| MD5 |
4617c2ffe5c61ff386a611102f66757d
|
|
| BLAKE2b-256 |
5845465b979f2c493087e1ef4f840872fe4924c215c964f97a110f7eac4d3b79
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93f81caff49c8d242f5bb685321339ff03a20e56206c73ef83b706df7eaa5326
|
|
| MD5 |
d6a601c66d55020199fa6ddece0e4424
|
|
| BLAKE2b-256 |
ab26961d13b5d414c18b3923ce225f3a28408dd73f13d4e7f9d905c820e68049
|