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 -r requirements.txt

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-1.0.0.tar.gz (5.9 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for logftz-1.0.0.tar.gz
Algorithm Hash digest
SHA256 fd656ee192a7f18ab01e5c4f7d775f006222d50e2012d6832fde1de98c8b66f9
MD5 5048204a9c62da29d70b0dc93e06db20
BLAKE2b-256 5b146f12679d4c2c90d3426fa10ee9ea314a1fab1f290370d0347f74d9d520e5

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