-
Open the Cargo.toml file that was generated earlier for you.
-
Under [dependencies], if you didn't do so in the last recipe, add the following line:
log = "0.4.1"
If you want, you can go to log's crates.io page (https://crates.io/crates/log) to check for the newest version and use that one instead.
- In the folder bin, create a file called custom_logger.rs.
- Add the following code and run it with RUST_LOG=custom_logger cargo run --bin custom_logger if you're on a Unix-based system. Otherwise, run $env:RUST_LOG="custom_logger"; cargo run --bin custom_logger on Windows:
1 #[macro_use]
2 extern crate log;
3
4 use log::{Level, Metadata, Record};
5 use std::fs::{File, OpenOptions};
6 use std::io::{self, BufWriter, Write};
7 use std::{error, fmt, result};
8 use std::sync::RwLock;
9 use std::time::{SystemTime, UNIX_EPOCH};
10
11 // This logger will write logs into a file on disk
12 struct FileLogger {
13 level: Level,
14 writer...