in rust/ccommon-rs/src/log/shim.rs [71:103]
fn log(&self, record: &Record) {
let ptr = ccommon_dlog().load(Ordering::Relaxed);
if !Self::enabled_ptr(record.metadata(), ptr) {
return;
}
// +1 bytes are trailing nul bytes
let mut buffer = [0; LOG_MAX_LEN as usize + 1];
let mut filename = [0; FILENAME_MAX_LEN + 1];
let _ = write!(&mut buffer[0..LOG_MAX_LEN as usize], "{}", record.args());
// Make a best-effort attempt to provide a meainingful
// location that is consistent with how ccommon does
// log messages.
let filestr = record
.file()
.or_else(|| record.module_path())
.unwrap_or_else(|| record.target());
let _ = write!(&mut filename[0..FILENAME_MAX_LEN], "{}", filestr);
unsafe {
_log(
ptr,
(&filename).as_ptr() as *const c_char,
record.line().map(|x| x as c_int).unwrap_or(-1),
level_to_int(record.level()),
"%s\0".as_ptr() as *const c_char,
(&buffer).as_ptr() as *const c_char,
)
}
}