reifydb_engine/ffi/callbacks/
logging.rs1use std::slice;
9
10use tracing::{debug, error, info, trace, warn};
11
12#[unsafe(no_mangle)]
20pub extern "C" fn host_log_message(operator_id: u64, level: u32, message: *const u8, message_len: usize) {
21 if message.is_null() {
22 return;
23 }
24
25 let msg_str = unsafe {
27 let bytes = slice::from_raw_parts(message, message_len);
28 String::from_utf8_lossy(bytes)
29 };
30
31 match level {
33 0 => trace!("FFI Operator[{}]: {}", operator_id, msg_str),
34 1 => debug!("FFI Operator[{}]: {}", operator_id, msg_str),
35 2 => info!("FFI Operator[{}]: {}", operator_id, msg_str),
36 3 => warn!("FFI Operator[{}]: {}", operator_id, msg_str),
37 4 => error!("FFI Operator[{}]: {}", operator_id, msg_str),
38 _ => info!("FFI Operator[{}]: {}", operator_id, msg_str),
39 }
40}