Skip to main content

A timezone-configurable logging package based on loguru with Shanghai timezone as default

Project description

LogFtz - Timezone-Configurable Logging Package

A Python logging package based on loguru with configurable timezone support. Defaults to Shanghai timezone (Asia/Shanghai) but allows users to set any timezone.

Features

  • 🕐 Configurable timezone support (defaults to Asia/Shanghai)
  • 📝 Clean log format: MM-DD HH:mm:ss|LEVEL|MESSAGE
  • 📁 Automatic daily log file rotation
  • 🗂️ Automatic retention of last 3 days of log files
  • 🚀 Built on high-performance loguru library
  • 🌍 International support with English interface

Installation

Install dependencies

pip install logftz

Usage

Basic Usage

from logftz import logger

# Log with different levels
logger.info("This is an info message")
logger.warning("This is a warning message")
logger.error("This is an error message")
logger.debug("This is a debug message")

Timezone Configuration

from logftz import logger, set_timezone

# Set timezone globally
set_timezone('UTC')
logger.info("This message uses UTC timezone")

# Set to New York timezone
set_timezone('America/New_York')
logger.info("This message uses New York timezone")

# Back to Shanghai timezone (default)
set_timezone('Asia/Shanghai')
logger.info("This message uses Shanghai timezone")

Advanced Usage with Custom Configuration

from logftz import LoggerConfig

# Create a custom logger configuration
config = LoggerConfig(timezone='Europe/London')

# Change timezone later
config.set_timezone('Asia/Tokyo')

Log Output Example

12-25 14:30:15|INFO|This is an info message
12-25 14:30:16|WARNING|This is a warning message
12-25 14:30:17|ERROR|This is an error message

Configuration

  • Default Timezone: Asia/Shanghai
  • Log Level: INFO and above
  • File Path: logs/YYYY-MM-DD.log
  • Rotation: Daily rotation
  • Retention: Keep last 3 days of log files
  • Format: MM-DD HH:mm:ss|LEVEL|MESSAGE

Supported Timezones

You can use any timezone supported by pytz, including:

  • UTC
  • Asia/Shanghai
  • Asia/Tokyo
  • Europe/London
  • America/New_York
  • America/Los_Angeles
  • And many more...

Project Structure

logftz/
├── logftz/
│   ├── __init__.py    # Package initialization and public API
│   └── log.py         # Core logging configuration
├── setup.py           # Installation configuration
├── requirements.txt   # Dependencies
└── README.md         # Documentation

Dependencies

  • loguru >= 0.6.0
  • pytz >= 2021.1

API Reference

Functions

  • set_timezone(timezone: str): Set the global timezone for logging

Classes

  • LoggerConfig(timezone: str = 'Asia/Shanghai'): Create a custom logger configuration
    • set_timezone(timezone: str): Change the timezone for this configuration

Variables

  • logger: The main logger instance (loguru logger)

License

MIT License

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

logftz-3.0.1.tar.gz (6.0 kB view details)

Uploaded Source

File details

Details for the file logftz-3.0.1.tar.gz.

File metadata

  • Download URL: logftz-3.0.1.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.5

File hashes

Hashes for logftz-3.0.1.tar.gz
Algorithm Hash digest
SHA256 df97c7c2374dd264bd97e3fe60884233f236d8354c5c2c6e1e707597a4591878
MD5 0ce19c7f6c80cb828a08c30e79e3b59b
BLAKE2b-256 386b564e1084ebbe3a3a0c2b2507d2414d2b79a86447b406f5499ab67ec6dcea

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