Skip to main content

My own logging library so i don't need to port it to every single project i make.

Project description

📚 kwslogger: Your Custom Logging Solution! 🚀

Welcome to kwslogger, a tailored logging solution for Python developers who desire more color and style in their logs.

🌟 Features

  • 🎨 Colorful logs to easily differentiate log types.
  • 📅 Timestamped logs to understand when events occur.
  • 📝 Write your logs to a file with ease.
  • ⛔ Filter out logs with the low levels.

⚙️ Installation

pip install kwslogger

🚀 Usage

Normal logs for your tools

from kwslogger import Logger

# Create a logger instance
logger = Logger(log_level="ANY", log_to_file=True, log_file_name="mylogs", log_file_mode="a")

# Clear the console
logger.clear()

# Log a message
logger.welcome("I'm a welcome message!")
logger.info("I'm an info message!")
logger.debug("I'm a debug message!")
logger.success("I'm a success message!")
logger.warning("I'm a warning!")
logger.error("I'm an error!")
logger.input("I'm an input message!")
logger.ratelimit("I'm a rate limit message!")

Animated Sleeps

from kwslogger import Logger

# Create a logger instance
logger = Logger(log_level="ANY", log_to_file=True, log_file_name="mylogs", log_file_mode="a")

logger.sleep("Waiting for 1 second...", 1)

Run functions while you showing the spinner with an optional timer

from kwslogger import Logger

# Create a logger instance
logger = Logger(log_level="ANY", log_to_file=True, log_file_name="mylogs", log_file_mode="a")

def test_func(number1, number2):
    answer = number1 + number2
    return answer

result = logger.run_with_spinner(test_func, "Calculating...", True, 1, 1)
print(str(result) + " (Func returned)")

Filter out your logs with the built in log levels, anything above the level you set on the logger instace won't be logged nor written to the file.

debug (0) --> info (1) --> welcome (2) --> success (3) --> warning (4) --> error (5) --> input (6) --> ratelimit (7) --> sleep (8) --> any (9)

Example:

from kwslogger import Logger

# Create a logger instance
logger = Logger(log_level="WARNING", log_to_file=True, log_file_name="mylogs", log_file_mode="a")

print(logger.can_log("INFO")) # --> True because it's below warning level. Would log and write to the file.
print(logger.can_log("RATELIMIT")) # --> False because it's above the warning level. Wouldn't log nor write to the file.

🤝 Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the issues page.

💖 Support

If you like this project, please give it a ⭐️ and share it with your friends!

📄 License

This project is MIT licensed, click here to see the license file.


Thanks for choosing kwslogger for your logging needs!

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

kwslogger-0.2.6.tar.gz (7.3 kB view hashes)

Uploaded Source

Built Distribution

kwslogger-0.2.6-py3-none-any.whl (7.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page