pub use ::inklog::{InklogConfig, InklogError, LoggerManager};
pub async fn init_inklog_logger() -> Result<LoggerManager, InklogError> {
LoggerManager::with_config(InklogConfig::default()).await
}
#[cfg(test)]
mod tests {
use super::*;
#[tokio::test]
#[serial_test::serial]
async fn init_inklog_logger_returns_manager() {
let result = init_inklog_logger().await;
assert!(result.is_ok(), "init_inklog_logger should return Ok");
}
#[tokio::test]
#[serial_test::serial]
async fn log_macros_survive_after_inklog_init() {
let _manager = init_inklog_logger()
.await
.expect("init_inklog_logger should succeed");
log::info!("inklog bridge active");
log::warn!("inklog bridge warn");
tracing::info!(target: "limiteron", "tracing via inklog");
}
#[tokio::test]
#[serial_test::serial]
async fn init_inklog_logger_is_idempotent() {
let _first = init_inklog_logger()
.await
.expect("first init should succeed");
let second = init_inklog_logger().await;
assert!(
second.is_ok(),
"second init should still return Ok (install failure downgraded to warn)"
);
}
}