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

Uploaded Source

File details

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

File metadata

  • Download URL: logftz-2.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-2.0.0.tar.gz
Algorithm Hash digest
SHA256 d4bd08127f94682a877aff67dfd53de6e36cde7b5e8f5e306e2b4c3378beae55
MD5 31120259b1acdfcd3cdb5694a4a839cb
BLAKE2b-256 21b598302d6992d3d81190bf4ce05a4ffb3726017dc8436e0ec4ed7862f2833d

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