Skip to content

Commit 0ce6b32

Browse files
committed
feat: simpler styling for the logger
1 parent 7597dc3 commit 0ce6b32

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

src/main.rs

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,35 @@
11
//! Patchy
22
3+
use std::io::Write as _;
34
use std::process::ExitCode;
45

5-
use clap::Parser as _;
6+
use clap::{
7+
Parser as _,
8+
builder::styling::{AnsiColor, Reset},
9+
};
10+
use log::Level;
611

712
#[tokio::main]
813
async fn main() -> ExitCode {
914
let args = patchy::Cli::parse();
1015
env_logger::Builder::new()
1116
.filter_level(args.verbosity.into())
17+
.format(|buf, record| {
18+
let color = match record.level() {
19+
Level::Error => AnsiColor::BrightRed,
20+
Level::Warn => AnsiColor::BrightYellow,
21+
Level::Info => AnsiColor::BrightGreen,
22+
Level::Debug => AnsiColor::BrightBlue,
23+
Level::Trace => AnsiColor::BrightCyan,
24+
}
25+
.on_default()
26+
.render();
27+
let black = AnsiColor::BrightBlack.render_fg();
28+
let level = record.level();
29+
let message = record.args();
30+
31+
writeln!(buf, "{black}[{color}{level}{black}]{Reset} {message}",)
32+
})
1233
.init();
1334

1435
if let Err(err) = args.command.execute(args.use_gh_cli).await {

0 commit comments

Comments
 (0)