parse_log_args

Function parse_log_args 

Source
fn parse_log_args(raw: &str) -> ParsedLog
Expand description

Parse a trace!(...) / debug!(...) / info!(...) / warn!(...) / error!(...) invocation’s already-stringified args into the message text and the list of parameter names it carries.

tracing allows the message in any position: leading positional literal, trailing positional literal, or message = "..." named field. We mirror the Ruby script: take the first string-literal value across all args (be it a positional "..." or a message = "..." named field) and treat it as the message. Only when no literal is present do we fall back to the first bare positional expression — otherwise patterns like warn!(%error, "Failed to flush.") would never have their message format checked because the bare %error would be claimed as the message first.