一个灵活的Python日志辅助模块
Project description
uloger
一个灵活的Python日志辅助模块,提供简单易用的日志功能。
功能特点
- 支持控制台和文件日志同时输出
- 自动创建日志目录,支持自定义日志文件路径
- 支持日志轮转(按时间或大小)
- 支持日志备份压缩
- 兼容PyInstaller打包环境
- 简单易用的API接口
安装方法
使用pip从Git仓库安装
pip install uloger
使用pip从Git仓库更新
pip install uloger
使用uv从Git仓库安装
uv add uloger
使用uv从Git仓库更新
uv sync --upgrade-package uloger
使用pip从本地安装
# 进入项目目录
cd path/to/uloger
# 安装模块
pip install -e .
使用uv从本地安装
# 进入项目目录
cd path/to/uloger
# 安装模块
uv add -e .
使用示例
基本用法
from uloger import logger
# 使用日志记录器
logger.info("这是一条信息日志")
logger.debug("这是一条调试日志")
logger.warning("这是一条警告日志")
logger.error("这是一条错误日志")
logger.critical("这是一条严重错误日志")
try:
1/0
except Exception:
logger.exception("发生了异常")
使用简化函数
from uloger import log_info, log_debug, log_warning, log_error, log_critical, log_exception
# 使用简化的日志函数
log_info("这是一条信息日志")
log_debug("这是一条调试日志")
log_warning("这是一条警告日志")
log_error("这是一条错误日志")
log_critical("这是一条严重错误日志")
try:
1/0
except Exception:
log_exception("发生了异常")
自定义配置
from uloger import uloger
# 创建自定义配置的日志记录器
config = {
"log_dir": "my_logs", # 自定义日志目录
"log_file_name": "my_app_{date}.log", # 自定义日志文件名
"console_log_level": "INFO", # 控制台日志级别
"file_log_level": "DEBUG", # 文件日志级别
"log_backup_count": 30, # 日志备份数量
"log_rotation_when": "D", # 按天轮转
"log_rotation_interval": 1, # 轮转间隔
"compress_backups": True, # 压缩备份日志
"enable_signal_handler": False # 不启用信号处理器
}
# 创建自定义日志记录器实例
custom_logger = uloger(config).get_logger()
# 使用自定义日志记录器
custom_logger.info("这是使用自定义配置的日志")
配置选项
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| log_dir | str | "logs" | 日志目录名称 |
| log_file_name | str | "app_{date}.log" | 日志文件名,{date}会被替换为当前日期 |
| log_formatter_console | str | "%(asctime)s - %(levelname)s - %(message)s" | 控制台日志格式 |
| log_formatter_file | str | "%(asctime)s - %(levelname)s - <%(funcName)s> - %(message)s" | 文件日志格式 |
| log_backup_count | int | 180 | 日志文件最多保留的备份数量 |
| console_log_level | int/str | logging.INFO | 控制台日志级别 |
| file_log_level | int/str | logging.DEBUG | 文件日志级别 |
| log_rotation_when | str | "D" | 日志轮转时间单位(S:秒, M:分, H:时, D:天, W0-W6:星期几) |
| log_rotation_interval | int | 1 | 日志轮转间隔 |
| log_max_bytes | int/None | None | 单个日志文件最大字节数,None表示不限制 |
| compress_backups | bool | False | 是否压缩备份日志 |
| logger_name | str | "app_logger" | 日志记录器名称 |
| enable_signal_handler | bool | True | 是否启用信号处理器 |
注意事项
- 日志默认保存在程序运行目录下的logs文件夹中
- 如果使用PyInstaller打包程序,日志功能仍然可以正常工作
- 支持Windows、Linux和macOS平台
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
uloger-0.1.0.tar.gz
(78.7 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 uloger-0.1.0.tar.gz.
File metadata
- Download URL: uloger-0.1.0.tar.gz
- Upload date:
- Size: 78.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d1009ffe9fec1e6269c427cef6d4266ee579ab18bb513844f7e4566f2747765
|
|
| MD5 |
9b1337ffa21efa13f91af4e7fbb3bfad
|
|
| BLAKE2b-256 |
0e0ce5bc9010ca539e7790700bd66ae242c710be3ef9294cf978460c0bbcd922
|
File details
Details for the file uloger-0.1.0-py3-none-any.whl.
File metadata
- Download URL: uloger-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb2f9618a8f809be467f4a0835dd5a3fc68b17ee9836ff0ed795fb4d97780565
|
|
| MD5 |
583832f3baf012d486e411ab1e744f84
|
|
| BLAKE2b-256 |
ebe4859cdea21d926a817182975df2a39c90fcc13d0d1aa4cf2758a36cb7f209
|