You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.6 KiB
Markdown

[![build](https://github.com/sgoudham/rall/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/sgoudham/rall/actions/workflows/build.yml)
[![crate.io](https://img.shields.io/crates/v/rall)](https://crates.io/crates/rall)
[![downloads](https://img.shields.io/crates/d/rall)](https://crates.io/crates/rall)
[![license](https://img.shields.io/github/license/sgoudham/rall)](LICENSE)
# Really...? Another Logging Library?
**Yes! :P**
> rall is an incredibly simple and intuitive logger, consider this crate a _failure_ if you can't get setup within **30 seconds!**
## Feature Set
- [x] Logging Levels
- [x] Coloured Output
- [ ] Options for Datetime, Current Function, Line Number, Custom Colours, etc.
- [ ] Custom Formatting
- [ ] File support
And much more to come... soon™!
## Quick Start
```rust
use rall::{SimpleLogger, Level};
// Create Default SimpleLogger
let mut logger = SimpleLogger::default();
// Log Out To Standard Output
logger.log(Level::TRACE, "My Best Friend Hazel :D");
logger.log(Level::DEBUG, "My Best Friend Hazel :D");
logger.log(Level::INFO, "My Best Friend Hazel :D");
logger.log(Level::WARN, "My Best Friend Hazel :D");
logger.log(Level::ERROR, "My Best Friend Hazel :D");
logger.log(Level::FATAL, "My Best Friend Hazel :D");
```
### Windows Output
![Windows Logs](images/windows_logs.png)
### Unix Output
![Unix Logs](images/unix_logs.png)
### Author Notes
I'm still incredibly early in my Rust journey and so I wanted to get comfortable and try to pick my own brain about
exposing different API's in a Rust crate. I hope to expose an intuitive and easy to understand API design that users can
instantly get started with.