# t_logger
A versatile and stylish logging library for Rust applications that provides both console output and file logging capabilities with customization options.
## Features
- ๐ Multiple log levels (info, warn, error, success, debug)
- ๐จ Full RGB color support with true color ANSI codes
- ๐ฆ Box-style formatted messages
- ๐
Automatic daily log file rotation
- ๐ Debug mode toggle
- โฐ Timestamp integration
- ๐พ File logging with clean (ANSI-stripped) output
- ๐ฏ Fully customizable styling (colors, symbols, borders)
## Installation
Add this to your `Cargo.toml`:
```toml
[dependencies]
tlogger = "0.1.1"
```
Or use the `cargo add` command:
```bash
cargo add tlogger
```
## Usage
```rust
use tlogger::prelude::*;
#[cfg(test)]
#[test]
pub fn info() {
use super::*;
// init_logger("Logs").unwrap();
customize_colors(Colors {
info: ansi_rgb!(32, 80, 123),
debug: ansi_rgb!(60, 200, 30),
..Default::default()
});
customize_symbols(Symbols {
debug: "โ",
..Default::default()
});
customize_borders(Borders {
..Default::default()
});
info!("Server", "Starting");
success!("Login", "User {} connected", "Alice");
debug!("Processing", "Items in queue: {}", 42);
warn!("Memory", "Usage at {}%", 85);
error!("Database", "Connection failed");
info_box!("System", "Your super secure super system is starting up.");
warn_box!("Memory", "Memory usage is at {}%", 85);
error_box!("Database", "Database connection failed");
success_box!("Login", "User {} connected", "Alice");
debug_box!("Processing", "Items in queue: {}", 42);
}
```
## Log Levels
- `info!()` / `info_box!()` - Cyan colored information messages
- `warn!()` / `warn_box!()` - Yellow colored warning messages
- `error!()` / `error_box!()` - Red colored error messages
- `success!()` / `success_box!()` - Green colored success messages
- `debug!()` / `debug_box!()` - Magenta colored debug messages
## Debug Mode
Debug messages can be disabled in production while still being logged to file:
```rust
set_debug(false); // Disables console output for debug messages
```
## File Logging
When initialized, logs are automatically saved to files with the format `YYYY-MM-DD.log` in the specified directory. All ANSI color codes are automatically stripped from the file output for better readability.
## License
[MIT License](LICENSE)
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## Example Output
```
โน 12:34:56.789 โ Server Starting up...
โ 12:34:56.790 โ Login User Alice connected
โ 12:34:56.791 โ Memory Usage at 85%
โ 12:34:56.792 โ Database Connection failed
```
Box Style Output:
```
โญโโLoginโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณ 12:29:47โฎ
โ User Alice connected โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
```
---