From f4e712af00b423079eef763dca91502dd3224212 Mon Sep 17 00:00:00 2001 From: aymericDD Date: Wed, 15 Nov 2023 10:48:10 +0100 Subject: [PATCH] fix: use custom logger for libbpf (#811) The libbpf library used by libbpgo print log in a non json format. So we set our own logger to libbpf to log in json format. Jira: CHAOSPLT-179 --- ebpf/disk-failure/main.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/ebpf/disk-failure/main.go b/ebpf/disk-failure/main.go index 19ce68249..ce1176172 100644 --- a/ebpf/disk-failure/main.go +++ b/ebpf/disk-failure/main.go @@ -39,6 +39,21 @@ func main() { logger, err = log.NewZapLogger() must(err) + bpf.SetLoggerCbs(bpf.Callbacks{ + Log: func(level int, msg string) { + switch level { + case bpf.LibbpfDebugLevel: + logger.Debug(msg) + case bpf.LibbpfInfoLevel: + logger.Info(msg) + case bpf.LibbpfWarnLevel: + logger.Warn(msg) + default: + logger.Error(msg) + } + }, + }) + // Create the bpf module bpfModule, err := bpf.NewModuleFromFile("/usr/local/bin/bpf-disk-failure.bpf.o") must(err)