Description
Version and Platform (required):
- Binary Ninja Version: 5.0.7290-stable
- Edition: Commercial
- OS: macOS
- OS Version: 14.5
- CPU Architecture: Apple M-series (ARM64)
Bug Description:
When using the Rust API to develop a plugin, I attempted to enable logging in headless mode using:
binaryninja::logger::Logger::new("Test").init();
However, no log output is produced, even when explicitly setting the log level. This makes it difficult to debug plugins in headless mode.
Most existing Rust plugin examples use print*
macros instead of the log
crate, which suggests that logger.init()
may not be supported in this context — or perhaps I’m missing a required step.
Steps To Reproduce:
- Create a headless plugin using the Binary Ninja Rust API.
- Call
binaryninja::logger::Logger::new("Test").init()
and attempt to log a message usinglog::info!
,warn!
, etc. - Run the plugin in headless mode using
cargo run
. - Observe that no output is produced in the console.
Expected Behavior:
I expected that logger.init()
would configure logging correctly and output log messages to the console when running in headless mode.
Screenshots/Video Recording:
N/A
Binary:
Not applicable — this issue concerns plugin development using the Rust API.
Additional Information:
Possibly related to issue #5101 and issue #1990.
Is this the intended behavior? Should I be using a third-party logging solution instead of the built-in Binary Ninja logger when working in headless mode?