Skip to content

[Rust API] Improve logger documentation #6863

Description

@saruman9

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:

  1. Create a headless plugin using the Binary Ninja Rust API.
  2. Call binaryninja::logger::Logger::new("Test").init() and attempt to log a message using log::info!, warn!, etc.
  3. Run the plugin in headless mode using cargo run.
  4. 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?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Component: Rust APIIssue needs changes to the Rust APIEffort: TrivialIssues require < 1 day of workImpact: LowIssue is a papercut or has a good, supported workaround

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions