diff --git a/core/core.go b/core/core.go index 90f341ec..970e1a3a 100644 --- a/core/core.go +++ b/core/core.go @@ -4,6 +4,7 @@ import ( "os/exec" "sort" + "github.com/bettercap/bettercap/v2/log" "github.com/evilsocket/islazy/str" ) @@ -36,10 +37,13 @@ func HasBinary(executable string) bool { func Exec(executable string, args []string) (string, error) { path, err := exec.LookPath(executable) if err != nil { + log.Warning("executable %s not found in $PATH", executable) return "", err } raw, err := exec.Command(path, args...).CombinedOutput() + + log.Debug("exec=%s args=%v ret_err=%v ret_out=%s", path, args, err, string(raw)) if err != nil { return str.Trim(string(raw)), err } else { diff --git a/log/log.go b/log/log.go index fe57b2b7..483fce59 100644 --- a/log/log.go +++ b/log/log.go @@ -1,27 +1,39 @@ package log import ( - "github.com/bettercap/bettercap/v2/session" - - ll "github.com/evilsocket/islazy/log" + "github.com/evilsocket/islazy/log" ) +type logFunction func(level log.Verbosity, format string, args ...interface{}) + +var Logger = (logFunction)(nil) + func Debug(format string, args ...interface{}) { - session.I.Events.Log(ll.DEBUG, format, args...) + if Logger != nil { + Logger(log.DEBUG, format, args...) + } } func Info(format string, args ...interface{}) { - session.I.Events.Log(ll.INFO, format, args...) + if Logger != nil { + Logger(log.INFO, format, args...) + } } func Warning(format string, args ...interface{}) { - session.I.Events.Log(ll.WARNING, format, args...) + if Logger != nil { + Logger(log.WARNING, format, args...) + } } func Error(format string, args ...interface{}) { - session.I.Events.Log(ll.ERROR, format, args...) + if Logger != nil { + Logger(log.ERROR, format, args...) + } } func Fatal(format string, args ...interface{}) { - session.I.Events.Log(ll.FATAL, format, args...) + if Logger != nil { + Logger(log.FATAL, format, args...) + } } diff --git a/session/session.go b/session/session.go index 03c00636..55f0c76e 100644 --- a/session/session.go +++ b/session/session.go @@ -17,6 +17,7 @@ import ( "github.com/bettercap/bettercap/v2/caplets" "github.com/bettercap/bettercap/v2/core" "github.com/bettercap/bettercap/v2/firewall" + my_log "github.com/bettercap/bettercap/v2/log" "github.com/bettercap/bettercap/v2/network" "github.com/bettercap/bettercap/v2/packets" @@ -150,6 +151,7 @@ func New() (*Session, error) { if I == nil { I = s + my_log.Logger = s.Events.Log } return s, nil