ALPHA: wire is a tool to deploy nixos systems wire.althaea.zone/
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

increase LogMessage variants we log

+50 -23
+1 -1
wire/lib/src/commands/interactive.rs
··· 457 457 let log = output_mode.trace(&line); 458 458 let mut queue = stderr_collection.lock().unwrap(); 459 459 460 - if let Some(SubcommandLog::Internal(log)) = log { 460 + if let SubcommandLog::Internal(log) = log { 461 461 if let Some(message) = get_errorish_message(&log) { 462 462 // add at most 10 message to the front, drop the rest. 463 463 queue.push_front(message.to_string());
+2 -6
wire/lib/src/commands/mod.rs
··· 141 141 } 142 142 143 143 impl ChildOutputMode { 144 - fn trace(self, line: &String) -> Option<nix_log::SubcommandLog<'_>> { 144 + fn trace(self, line: &String) -> nix_log::SubcommandLog<'_> { 145 145 let log = match self { 146 146 ChildOutputMode::Nix => { 147 147 let log = serde_json::from_str::<LogMessage>( ··· 150 150 .map(SubcommandLog::Internal) 151 151 .unwrap_or(SubcommandLog::Raw(line.into())); 152 152 153 - if !matches!(log, SubcommandLog::Internal(LogMessage::Msg { .. })) { 154 - return None; 155 - } 156 - 157 153 log 158 154 } 159 155 Self::Raw => SubcommandLog::Raw(line.into()), ··· 161 157 162 158 log.trace(); 163 159 164 - Some(log) 160 + log 165 161 } 166 162 }
+1 -1
wire/lib/src/commands/noninteractive.rs
··· 161 161 162 162 while let Some(line) = io_reader.next_line().await.unwrap() { 163 163 let log = if should_log { 164 - output_mode.trace(&line) 164 + Some(output_mode.trace(&line)) 165 165 } else { 166 166 None 167 167 };
+2
wire/lib/src/hive/mod.rs
··· 53 53 modifiers: SubCommandModifiers, 54 54 clobber_lock: Arc<Mutex<()>>, 55 55 ) -> Result<Hive, HiveLibError> { 56 + info!("evaluating hive {location:?}"); 57 + 56 58 let output = 57 59 evaluate_hive_attribute(location, &EvalGoal::Inspect, modifiers, clobber_lock).await?; 58 60
+44 -15
wire/lib/src/nix_log.rs
··· 32 32 None 33 33 } 34 34 35 + fn nix_level_to_tracing(level: &VerbosityLevel) -> tracing_level { 36 + match level { 37 + VerbosityLevel::Info => tracing_level::INFO, 38 + VerbosityLevel::Warn | VerbosityLevel::Notice => tracing_level::WARN, 39 + VerbosityLevel::Error => tracing_level::ERROR, 40 + VerbosityLevel::Debug => tracing_level::DEBUG, 41 + VerbosityLevel::Vomit | VerbosityLevel::Talkative | VerbosityLevel::Chatty => tracing_level::TRACE, 42 + } 43 + } 44 + 35 45 impl Trace for LogMessage<'_> { 36 46 fn trace(&self) { 37 - if let LogMessage::Msg { level, msg } = &self { 38 - if msg.is_empty() { 39 - return; 40 - } 47 + match self { 48 + LogMessage::Msg { level, msg } => { 49 + if msg.is_empty() { 50 + return; 51 + } 41 52 42 - let stripped = strip_ansi_escapes::strip(msg.as_bytes()); 43 - let msg = String::from_utf8_lossy(&stripped); 53 + let stripped = strip_ansi_escapes::strip(msg.as_bytes()); 54 + let msg = String::from_utf8_lossy(&stripped); 55 + 56 + match nix_level_to_tracing(level) { 57 + tracing_level::INFO => event!(tracing_level::INFO, "{msg}"), 58 + tracing_level::WARN => event!(tracing_level::WARN, "{msg}"), 59 + tracing_level::ERROR => event!(tracing_level::ERROR, "{msg}"), 60 + tracing_level::DEBUG => event!(tracing_level::DEBUG, "{msg}"), 61 + tracing_level::TRACE => event!(tracing_level::TRACE, "{msg}"), 62 + } 63 + }, 64 + LogMessage::Start { text, level, .. } => { 65 + if text.is_empty() { 66 + return; 67 + } 44 68 45 - match level { 46 - VerbosityLevel::Info => event!(tracing_level::INFO, "{msg}"), 47 - VerbosityLevel::Warn | VerbosityLevel::Notice => { 48 - event!(tracing_level::WARN, "{msg}"); 69 + match nix_level_to_tracing(level) { 70 + tracing_level::INFO => event!(tracing_level::INFO, "{text}"), 71 + tracing_level::WARN => event!(tracing_level::WARN, "{text}"), 72 + tracing_level::ERROR => event!(tracing_level::ERROR, "{text}"), 73 + tracing_level::DEBUG => event!(tracing_level::DEBUG, "{text}"), 74 + tracing_level::TRACE => event!(tracing_level::TRACE, "{text}"), 49 75 } 50 - VerbosityLevel::Error => event!(tracing_level::ERROR, "{msg}"), 51 - VerbosityLevel::Debug => event!(tracing_level::DEBUG, "{msg}"), 52 - VerbosityLevel::Vomit | VerbosityLevel::Talkative | VerbosityLevel::Chatty => { 53 - event!(tracing_level::TRACE, "{msg}"); 76 + }, 77 + LogMessage::SetPhase { phase } => { 78 + if phase.is_empty() { 79 + return; 54 80 } 55 - } 81 + 82 + event!(tracing_level::INFO, set_phase = phase); 83 + }, 84 + _ => {} 56 85 } 57 86 } 58 87 }