MCPcopy Index your code
hub / github.com/cloud-hypervisor/cloud-hypervisor / log

Method log

cloud-hypervisor/src/logger.rs:126–158  ·  view source on GitHub ↗
(&self, record: &log::Record)

Source from the content-addressed store, hash-verified

124 }
125
126 fn log(&self, record: &log::Record) {
127 if !self.enabled(record.metadata()) {
128 return;
129 }
130
131 let duration_s = Instant::now().duration_since(self.start).as_secs_f32();
132 let mut out = self.output.lock().unwrap();
133 for token in &self.tokens {
134 let _ = match token {
135 Token::Literal(s) => out.write_all(s.as_bytes()),
136 // 10: 6 decimal places + sep => whole seconds in range `0..=999` properly aligned
137 Token::BootTime => write!(&mut *out, "{duration_s:>10.6?}"),
138 Token::WallClock => {
139 write!(out, "{:.6}", jiff::Timestamp::now())
140 }
141 Token::Pid => write!(&mut *out, "{}", self.pid),
142 // SAFETY: gettid(2) always succeeds
143 Token::Tid => write!(&mut *out, "{}", unsafe { libc::gettid() }),
144 Token::Thread => write!(
145 &mut *out,
146 "{}",
147 std::thread::current().name().unwrap_or("anonymous")
148 ),
149 Token::Level => write!(&mut *out, "{}", record.level()),
150 Token::Location => match (record.file(), record.line()) {
151 (Some(file), Some(line)) => write!(&mut *out, "{file}:{line}"),
152 _ => write!(&mut *out, "{}", record.target()),
153 },
154 Token::Msg => write!(&mut *out, "{}", record.args()),
155 };
156 }
157 let _ = out.write_all(b"\r\n");
158 }
159
160 fn flush(&self) {}
161}

Callers 6

logger_pid_tokenFunction · 0.80
logger_tid_tokenFunction · 0.80

Calls 4

metadataMethod · 0.80
as_bytesMethod · 0.80
fileMethod · 0.80
enabledMethod · 0.45

Tested by 6

logger_pid_tokenFunction · 0.64
logger_tid_tokenFunction · 0.64