A flexible logging utility with JSON support and timezone awareness
Project description
Setlogging
A flexible Python logging utility with JSON support and timezone awareness.
Author
- Name: Jie Yan
- Contact: kiki3890528@gmail.com
Features
- JSON and plain text log formats
- Log file rotation with size limits
- Console output options
- Timezone-aware logging
- Customizable formatting
- Type-safe configuration
Installation
pip install setlogging
Usage
from setlogging import get_logger
# Basic logging
logger = get_logger()
logger.info("Basic log message")
# JSON logging with indentation
logger = get_logger(json_format=True, indent=2)
logger.info("Structured logging")
# Custom file and rotation
logger = get_logger(
log_file="/tmp/app.log",
max_size_mb=10, # 10MB
backup_count=5
)
# Disable console output
logger = get_logger(console_output=False)
logger.info("This will not be printed to the console")
Project Structure
setlogging/
├── src/
│ └── setlogging/
│ ├── __init__.py
│ └── logger.py
├── tests/
│ ├── __init__.py
│ └── test_logger.py
├── pyproject.toml
├── README.md
└── LICENSE
Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
log_level |
int | DEBUG |
Logging level |
log_file |
str | app.log or app_json.log |
Log file path |
max_size_mb |
int | 25 |
Max file size in MB before rotation |
backup_count |
int | 7 |
Number of backup files |
console_output |
bool | True |
Enable console logging |
log_format |
str | None |
Custom log format string |
date_format |
str | None |
Custom date format string |
json_format |
bool | False |
Enable JSON formatting |
indent |
int | None |
JSON indentation level |
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
setlogging-0.3.2.tar.gz
(94.1 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 setlogging-0.3.2.tar.gz.
File metadata
- Download URL: setlogging-0.3.2.tar.gz
- Upload date:
- Size: 94.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66f19af3d8b86fac797c2ccf6ede033eaebf0e3d8cc7772c31df0032633ebe5b
|
|
| MD5 |
5d3e288960f562f62cedc77a0db46c72
|
|
| BLAKE2b-256 |
fed254ee3c69ea44fc22decab53e14fae03ebab4e3bcfb245f0d9b07c0813114
|
File details
Details for the file setlogging-0.3.2-py3-none-any.whl.
File metadata
- Download URL: setlogging-0.3.2-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4696bc322b5523afbabdeb95916110ad1888f2330f725ab887677e1058a5de6e
|
|
| MD5 |
e86dc8923ecfe55d55aaf56f585c6655
|
|
| BLAKE2b-256 |
615d4831e123b14ca0ac66e62c54025d95c80e588804e8c38df43227a4bbd828
|