mirror of
https://github.com/bettercap/bettercap
synced 2025-07-05 12:36:40 -07:00
fix: added better debug logging for core.Exec (fixes #1125)
This commit is contained in:
parent
97b4dcb46e
commit
5bc9dd9259
3 changed files with 26 additions and 8 deletions
|
@ -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 {
|
||||
|
|
28
log/log.go
28
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...)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue