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
6f6df14bfc
commit
4bf97e9f19
1 changed files with 12 additions and 1 deletions
|
@ -38,10 +38,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
Reference in a new issue