Add cmdline to tracing output
Can come in handy when other people report problems and show the error message or full log, but not the command line. Setting that span to `level = "error"` ensures that it won't be disabled by level filters.
This commit is contained in:
parent
48683638f6
commit
43e3bf7b60
1 changed files with 12 additions and 1 deletions
|
@ -36,10 +36,21 @@ struct GlobalConfig {
|
|||
}
|
||||
|
||||
#[tokio::main]
|
||||
#[tracing::instrument]
|
||||
#[tracing::instrument(level = "error", fields(cmd_line = tracing::field::Empty))]
|
||||
async fn main() -> Result<()> {
|
||||
color_eyre::install()?;
|
||||
|
||||
{
|
||||
let span = tracing::Span::current();
|
||||
if !span.is_disabled() {
|
||||
let cmdline: String = std::env::args_os().fold(String::new(), |mut s, arg| {
|
||||
s.push_str(&arg.to_string_lossy());
|
||||
s
|
||||
});
|
||||
span.record("cmd_line", cmdline);
|
||||
}
|
||||
}
|
||||
|
||||
let matches = command!()
|
||||
.subcommand_required(true)
|
||||
.arg(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue