6 stable releases
1.2.2 | Aug 11, 2024 |
---|---|
1.2.1 | Oct 5, 2023 |
1.2.0 | Sep 10, 2023 |
1.1.0 | Aug 24, 2023 |
#555 in Debugging
Used in diary-cli
17KB
213 lines
soulog
A library for polished, clean and colourful console logging and error handling.
Colourful Printing
Some utils for printing to the console in colour.
-
Supported Colours
- None
- Pink
- White
- Blue
- Green
- Cyan
- Red
- Black
- Yellow
-
Usage
use soulog::*; // The macro is pretty simple, it's just a list of strings and you have to surround each string with a colour (in lowercase) // If you don't want a colour, then use `none` for the default colour of the console. let colourful_text = colour_format![blue("["), none("Example"), blue("] "), none("Here is an example body!")]; println!("{}", colourful_text); // Prints the colourful text to screen
Loggers
- A struct that determines what to do with logs and errors, and how to handle them.
- The default logger for smaller applications is
soulog::sbl::PanicLogger
which panics on errors
Logging
For when you want to log an event or just to give an update to the user through the console
use soulog::*;
pub fn process(mut logger: impl Logger) {
// First part is the logger surrounded by parenthesis, this is the destination the log is going to
// The second part is the origin of the log, the function is called `process` so it should be `Process`
// The third part is the log body, it should be formatted like in a `format!()` macro
log!((logger) Process("Example log of a number: {}", 12));
// You can also have error-like logs such as inconvenience logs
log!((logger.error) Process("Example inconvenience log") as Inconvenience);
}