mirror of
https://github.com/netbirdio/netbird.git
synced 2026-04-20 01:06:45 +00:00
42 lines
816 B
Go
42 lines
816 B
Go
//go:build android
|
|
|
|
package debug
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"os/exec"
|
|
|
|
log "github.com/sirupsen/logrus"
|
|
)
|
|
|
|
func (g *BundleGenerator) addPlatformLog() error {
|
|
cmd := exec.Command("/system/bin/logcat", "-d")
|
|
stdout, err := cmd.StdoutPipe()
|
|
if err != nil {
|
|
return fmt.Errorf("logcat stdout pipe: %w", err)
|
|
}
|
|
|
|
if err := cmd.Start(); err != nil {
|
|
return fmt.Errorf("start logcat: %w", err)
|
|
}
|
|
|
|
var logReader io.Reader = stdout
|
|
if g.anonymize {
|
|
var pw *io.PipeWriter
|
|
logReader, pw = io.Pipe()
|
|
go anonymizeLog(stdout, pw, g.anonymizer)
|
|
}
|
|
|
|
if err := g.addFileToZip(logReader, "logcat.txt"); err != nil {
|
|
return fmt.Errorf("add logcat to zip: %w", err)
|
|
}
|
|
|
|
if err := cmd.Wait(); err != nil {
|
|
return fmt.Errorf("wait logcat: %w", err)
|
|
}
|
|
|
|
log.Debug("added logcat output to debug bundle")
|
|
return nil
|
|
}
|