Skip to main content

一个灵活的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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uloger-0.1.0-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

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

Hashes for uloger-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8d1009ffe9fec1e6269c427cef6d4266ee579ab18bb513844f7e4566f2747765
MD5 9b1337ffa21efa13f91af4e7fbb3bfad
BLAKE2b-256 0e0ce5bc9010ca539e7790700bd66ae242c710be3ef9294cf978460c0bbcd922

See more details on using hashes here.

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

Hashes for uloger-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eb2f9618a8f809be467f4a0835dd5a3fc68b17ee9836ff0ed795fb4d97780565
MD5 583832f3baf012d486e411ab1e744f84
BLAKE2b-256 ebe4859cdea21d926a817182975df2a39c90fcc13d0d1aa4cf2758a36cb7f209

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