A modern, logging utility for Python with multiple output formats and colorful console output.
tam·ga / noun
An ancient Turkic symbol or seal used for marking ownership, identity, or lineage.
- 🎨 Colorful console output using Tailwind CSS color palette
- 📁 File logging with rotation and backup
- 📊 JSON logging with size limits and backup
- 🗄️ SQLite database logging
- 🚀 MongoDB integration
- 📧 Email notifications for specific log levels
- 🌐 API logging support
- 🔄 Automatic file rotation and backup
- 🎯 Multiple log levels with customizable colors
pip install tamga
from tamga import Tamga
# Initialize the logger
logger = Tamga(
logToFile=True,
logToJSON=True,
logToConsole=True
)
# Basic logging
logger.info("This is an info message")
logger.warning("This is a warning")
logger.error("This is an error")
logger.success("This is a success message")
logger.debug("This is a debug message")
logger.critical("This is a critical message")
# Custom logging
logger.custom("This is a custom message", "CUSTOM", "orange")
logger = Tamga(
logToMongo=True,
mongoURI="your_mongodb_uri",
mongoDatabaseName="logs_db",
mongoCollectionName="application_logs"
)
logger = Tamga(
sendMail=True,
smtpServer="smtp.gmail.com",
smtpPort=587,
smtpMail="[email protected]",
smtpPassword="your_password",
smtpReceivers=["[email protected]"],
mailLevels=["CRITICAL", "ERROR"]
)
logger = Tamga(
logToFile=True,
logToJSON=True,
maxLogSize=10, # MB
maxJsonSize=10, # MB
enableBackup=True
)
logger = Tamga(
logToAPI=True,
apiURL="http://your-api.com/logs"
)
- INFO (sky blue)
- WARNING (amber)
- ERROR (rose)
- SUCCESS (emerald)
- DEBUG (indigo)
- CRITICAL (red)
- DATABASE (green)
- MAIL (neutral)
- METRIC (cyan)
- TRACE (gray)
- Custom (user-defined)
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Doğukan Ürker
- Email: [email protected]
- GitHub: @dogukanurker