




# Narlog
**Narlog** is a **colorful and minimal** logger library.
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Changelog](#changelog)
## Features
- **Lightweight**: Built with minimal dependencies
- **Colorful**: Colorful output with [owo-colors](https://crates.io/crates/owo-colors)
## Installation
Run **this command** on **your rust project root**:
```bash
cargo add narlog
```
## Usage
Using `Logger` struct ([examples/basic_logging.rs](./examples/basic_logging.rs)):
```rust
use std::io;
use std::io::ErrorKind;
use narlog::Logger;
fn main() {
let logger = Logger::new();
let error = io::Error::new(ErrorKind::Other, "velit esse cillum dolore eu fugiat nulla pariatur");
logger.trace("Lorem ipsum dolor sit amet");
logger.info("consectetur adipiscing elit");
logger.debug("sed do eiusmod tempor incididunt ut labore et dolore magna aliqua");
logger.warn("Ut enim ad minim veniam");
logger.error("quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat", Some(&error));
logger.fatal("Duis aute irure dolor in reprehenderit in voluptate", Some(&error));
}
```
Using macros ([examples/macros.rs](./examples/macros.rs)):
```rust
use std::io;
use std::io::ErrorKind;
use narlog::{trace, debug, error, fatal, info, warn};
fn main() {
let error = io::Error::new(ErrorKind::Other, "velit esse cillum dolore eu fugiat nulla pariatur");
trace!("Lorem ipsum dolor sit amet");
info!("consectetur adipiscing elit");
debug!("sed do eiusmod tempor incididunt ut labore et dolore magna aliqua");
warn!("Ut enim ad minim veniam");
error!("quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat");
error!("quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat", &error);
fatal!("Duis aute irure dolor in reprehenderit in voluptate");
fatal!("Duis aute irure dolor in reprehenderit in voluptate", &error);
}
```
## Changelog
### 0.1.2
- **Added** Badges to `README.md`
### 0.1.1
- **Added** Table of Contents to `README.md`
- **Added** Welcome message to `src/lib.rs`
### 0.1.0
- **Initial Version!**