mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-04-24 22:30:03 +00:00
Replace simplelog
with tracing_subscriber::fmt
(#525)
* Disable feat log-always of dep tracing * Add dep tracing-log 0.1.3 with no feat * Add new dep tracing-appender v0.2.2 * Add dep tracing-subscriber 0.3.16 with feat fmt and json * Fix `MainExit::report`: Do not use `log::{error, warn}` since `MainExit::report` might be called with no `log`ger, it can only use `println!` and `eprintln!`. * Use `tracing_subscriber::fmt` instead of `simple_log` * Rm unused dep simplelog from crates/bin * Fix `BinstallError::report`: Avoid `log::{warn, error}` since they might be called after `tracing_appender::WorkerGuard` is dropped. * Make tracing output more readable to end users * Add new dep tracing-core v0.1.30 * Add new dep once_cell v1.16.0 * Refactor: Extract new mod `logging` * Add new option `Args::json_output` * Fix `MainExit::report`: Ignore io error * Fix `BinstallError::report`: Ignore IO error Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
parent
e378be73df
commit
3841762a5b
9 changed files with 290 additions and 59 deletions
|
@ -1,11 +1,10 @@
|
|||
use std::{
|
||||
io,
|
||||
io::{self, Write},
|
||||
path::PathBuf,
|
||||
process::{ExitCode, ExitStatus, Termination},
|
||||
};
|
||||
|
||||
use compact_str::CompactString;
|
||||
use log::{error, warn};
|
||||
use miette::{Diagnostic, Report};
|
||||
use thiserror::Error;
|
||||
use tokio::task;
|
||||
|
@ -383,10 +382,9 @@ impl Termination for BinstallError {
|
|||
fn report(self) -> ExitCode {
|
||||
let code = self.exit_code();
|
||||
if let BinstallError::UserAbort = self {
|
||||
warn!("Installation cancelled");
|
||||
writeln!(io::stdout(), "Installation cancelled").ok();
|
||||
} else {
|
||||
error!("Fatal error:");
|
||||
eprintln!("{:?}", Report::new(self));
|
||||
writeln!(io::stderr(), "Fatal error:\n{:?}", Report::new(self)).ok();
|
||||
}
|
||||
|
||||
code
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue