Advanced logging library with colored output, file rotation, and flexible configuration
Project description
README.md (English)
FSLog - Simple Python Logging Library
A powerful and flexible logging library with colored console output, file logging, rotation, and custom formatting.
Features
-
🎨 Colored console output with RGB support
-
📁 File logging with automatic rotation
-
🔄 Dual modes - file-only, console-only, or both
-
📏 Size-based rotation - prevent log files from getting too large
-
🗑️ Automatic cleanup - keep only the newest log files
-
✨ Custom formatting - flexible log message templates
-
🎯 Multiple log prefix - debug, info, warning, error, and custom
Installation
pip install fsllog
Simple usage
logger = FSLog()
logger.info("Application started")
logger.error("Something went wrong")
Advanced Usage
logger = FSLog(
log_folder_path="logs", # Path to log folder (default: "Logs")
max_logs=10, # Maximum log files to keep (default: 10)
max_file_size_mb=100, # Max file size in MB (default: 100)
log_format="[{timestamp}] [{prefix}] {message}", # Custom format
file_only=False, # Log only to file (default: False)
console_only=False # Log only to console (default: False)
)
logger.info("Application started")
logger.error("Something went wrong")
Log Prefix
Method === Default color === Example
.debug() === Cyan === logger.debug.("debug message") .info() === Blue === logger.info("info message") .logging() === White === logger.logging("logging message") .server() === White === logger.server("server event") .warning() === Yellow === logger.warning("warning message") .error() === Red === logger.error("error occurred")
Custom Colors
logger.info("Success!", Colors.GREEN)
logger.custom("Custom message", "AUTH", (255, 165, 0)) # Orange
Advanced Formatting
logger.set_format("{timestamp} | {prefix} | {message}")
Output: [2023.11.15_14-30-00] | [INFO] | Message
#Advanced Features ##File Rotation
# Automatic rotation when file exceeds max_file_size_mb
logger = FSLog(max_file_size_mb=50) # Rotate at 50MB
Modes
# Console only (no files)
console_logger = FSLog(console_only=True)
# File only (silent operation)
file_logger = FSLog(file_only=True)
#Requirements
- Python 3.8+
- No external dependencies
License
MIT License - see LICENSE file for details text ⠀ ⠀
README_RU.md (Russian)
FSLog - Простая библиотека логирования на Python
Мощная и гибкая библиотека для логирования с цветным выводом в консоль, файловым логированием, ротацией и кастомным форматированием.
#Возможности
-
🎨 Цветной вывод в консоль с поддержкой RGB
-
📁 Файловое логирование с автоматической ротацией
-
🔄 Двойные режимы - только файл, только консоль или оба
-
📏 Ротация по размеру - предотвращает рост файлов логов
-
🗑️ Автоматическая очистка - сохраняет только новые файлы логов
-
✨ Кастомное форматирование - гибкие шаблоны сообщений
-
🎯 Несколько уровней логирования - debug, info, warning, error и кастомные
Установка
pip install fsllog
Простое использование
logger = FSLog(log_folder_path="logs", max_logs=5)
logger.info("Приложение запущено")
logger.error("Произошла ошибка")
Продвинутое использование
logger = FSLog(
log_folder_path="logs", # Путь к папке логов (по умолчанию: "Logs")
max_logs=10, # Максимум файлов логов (по умолчанию: 10)
max_file_size_mb=100, # Макс. размер файла в МБ (по умолчанию: 100)
log_format="[{timestamp}] [{prefix}] {message}", # Кастомный формат
file_only=False, # Только файловое логирование
console_only=False # Только консольное логирование
)
logger.info("Приложение запущено")
logger.error("Произошла ошибка")
Префиксы логов
Метод === Цвет по умолчанию === Пример
.debug() === Голубой === logger.debug("Отладочное сообщение") .info() === Синий === logger.info("Информация") .logging() === Белый === logger.logging("Общее сообщение") .server() === Белый === logger.server("Событие сервера") .warning() === Желтый === logger.warning("Предупреждение") .error() === Красный === logger.error("Произошла ошибка")
Кастомные цвета
logger.info("Успех!", Colors.GREEN)
logger.custom("Кастомное сообщение", "AUTH", (255, 165, 0)) # Оранжевый
Расширенное форматирование
logger.set_format("{timestamp} | {prefix} | {message}")
Вывод: [2023.11.15_14-30-00] | [INFO] | Сообщение
#Расширенные возможности
Ротация логов
Автоматическая ротация при превышении max_file_size_mb
logger = FSLog(max_file_size_mb=50) # Ротация при 50МБ
Режимы работы
Только консоль (без файлов)
console_logger = FSLog(console_only=True)
Только файлы (тихая работа)
file_logger = FSLog(file_only=True)
#Требования
- Python 3.8+
- Нет внешних зависимостей
Project details
Release history Release notifications | RSS feed
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 fsllog-0.2.0.tar.gz.
File metadata
- Download URL: fsllog-0.2.0.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73c6db72f483ca7e6934aa7d55f7d8a4f2699cf7d9c0e56eb9c02091c8a5591f
|
|
| MD5 |
9339b04ff6a806ad106ca83863921f92
|
|
| BLAKE2b-256 |
ce3e0f5c2e2f328a702832e4f03d1144cb073777854cfbc84c4156323f19ec82
|
File details
Details for the file fsllog-0.2.0-py3-none-any.whl.
File metadata
- Download URL: fsllog-0.2.0-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1829bdf64b10f858076af8821df7c20946b561612b17fa4b2aa6a48d5a7eadb
|
|
| MD5 |
bb3d8599dca7d889dbce5958e76ccac3
|
|
| BLAKE2b-256 |
4bf29b9b596fd02bd6c3c16ec645f1f8598da0eabde2116c810096c83929c362
|