aya-log
is a logging library for eBPF programs written using [aya]. Think of
it as the [log] crate for eBPF.
Add aya-log
to Cargo.toml
:
toml
[dependencies]
aya-log = { git = "https://github.com/aya-rs/aya-log", branch = "main" }
Add aya-log-ebpf
to Cargo.toml
:
toml
[dependencies]
aya-log-ebpf = { git = "https://github.com/aya-rs/aya-log", branch = "main" }
Here's an example that uses aya-log
in conjunction with the [simplelog] crate
to log eBPF messages to the terminal.
```rust use simplelog::{ColorChoice, ConfigBuilder, LevelFilter, TermLogger, TerminalMode}; use aya_log::BpfLogger;
TermLogger::init( LevelFilter::Debug, ConfigBuilder::new() .settargetlevel(LevelFilter::Error) .setlocationlevel(LevelFilter::Error) .build(), TerminalMode::Mixed, ColorChoice::Auto, ) .unwrap();
// Will log using the default logger, which is TermLogger in this case BpfLogger::init(&mut bpf).unwrap(); ```
```rust use ayalogebpf::info;
fn tryxdpfirewall(ctx: XdpContext) -> Result
Ok(XDP_PASS)
} ```