Add your description here
Project description
OneLogger 🚀
A Simple and Efficient Logging Library
OneLogger is a lightweight logging library built to help you dynamically configure and manage log settings with ease using oneenv. It leverages Python's built-in logging module and (for Python versions up to 3.12) enhances performance with picologging. Perfect for development, testing, and production environments!
Features ✨
- Dynamic Configuration: Easily manage logging settings using environment variables via oneenv.
- High Performance Logging:
- For Python versions ≤ 3.12, OneLogger uses picologging to deliver blazing-fast logging 🚀.
- For Python 3.13 and later, it seamlessly falls back to the standard logging module.
- Flexible Output Options: Configure logs to output to the console, files (with rotation), or both.
- Custom Formatting: Supports both plain text and JSON log formats.
- Asynchronous Logging: Optionally enable asynchronous logging for better performance under high load.
- Easy Integration: A simple API with a singleton pattern for effortless logger retrieval.
Supported Environments 🖥️
- Python ≥ 3.11
- Python < 3.13: Utilizes picologging for enhanced performance.
- Python ≥ 3.13: Uses the standard logging module for full compatibility.
Installation 🛠️
-
Clone the Repository
git clone <repository-url> cd onelogger
-
Create and Activate a Virtual Environment
python -m venv .venv # Windows (PowerShell) .\.venv\Scripts\Activate.ps1 # macOS/Linux source .venv/bin/activate
-
Install Dependencies
pip install -e .
Usage 🚀
OneLogger integrates effortlessly into your projects. For example:
from onelogger import Logger
# Retrieve a configured logger instance
logger = Logger.get_logger("example_logger")
# Log messages at various levels
logger.info("This is an informational message.")
logger.error("This is an error message.")
try:
result = 1 / 0
except Exception as e:
logger.exception("An exception occurred during division!")
You can try out the example provided in the examples folder:
python examples/example_logger.py
Configuration 📦
OneLogger uses oneenv to manage environment variables with ease. The library automatically generates a .env.example template file with detailed descriptions for all available settings. This makes it simple to:
- View all available configuration options with descriptions
- Understand the purpose and valid values for each setting
- Create your own
.envfile by copying and modifying the template
Here's an example of the auto-generated template:
# Auto-generated by OneEnv
# Specifies the logging level used by OneLogger.
# Valid options are DEBUG, INFO, WARNING, ERROR, and CRITICAL.
# Required
LOG_LEVEL=DEBUG
# Specifies the destination for log output.
# Options: 'console' for standard output, 'file' for file logging, or 'both'.
# Required
LOG_OUTPUT=both
# Specifies the log file path when LOG_OUTPUT is set to 'file' or 'both'.
LOG_FILE_PATH=example.log
# ... (other settings with descriptions)
To configure OneLogger, simply:
- Copy
.env.exampleto.env - Modify the values in
.envaccording to your needs - OneLogger will automatically load these settings when initialized
Contributing 🤝
Contributions are welcome! Please follow best practices and add tests as necessary.
License 📄
This project is licensed under the MIT License.
Enjoy fast and configurable logging with OneLogger! 🎉
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
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 onelogger-0.1.0.tar.gz.
File metadata
- Download URL: onelogger-0.1.0.tar.gz
- Upload date:
- Size: 13.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4ccc68a776842c0ed71f22ffb157401e9182dbcb80b7961260a004a9e79530c
|
|
| MD5 |
cd23c35b65bffb5769f17e79fc639423
|
|
| BLAKE2b-256 |
75dbbcca382c1f71de50483484eec25dd3cd646a89d32a4b903a116c5e564724
|
File details
Details for the file onelogger-0.1.0-py3-none-any.whl.
File metadata
- Download URL: onelogger-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c43fd89301a14a5a104e9b07d8b548d252077e49ed3a00ec59133886ac595788
|
|
| MD5 |
dffffd47d84821451e4cedd87cd12ae4
|
|
| BLAKE2b-256 |
e6548bda22bf2dc21d65e455d02ccb6a024c5fa03cb5397e1288ff77718705c3
|