diff --git a/hrp/pkg/gadb/client.go b/hrp/pkg/gadb/client.go index 951f13b1..4543484a 100644 --- a/hrp/pkg/gadb/client.go +++ b/hrp/pkg/gadb/client.go @@ -4,10 +4,14 @@ import ( "fmt" "strconv" "strings" + + "github.com/rs/zerolog/log" ) -const AdbServerPort = 5037 -const AdbDaemonPort = 5555 +const ( + AdbServerPort = 5037 + AdbDaemonPort = 5555 +) type Client struct { host string @@ -86,7 +90,7 @@ func (c Client) DeviceList() (devices []Device, err error) { fields := strings.Fields(line) if len(fields) < 5 || len(fields[0]) == 0 { - debugLog(fmt.Sprintf("can't parse: %s", line)) + log.Error().Str("line", line).Msg("get unexpected line") continue } diff --git a/hrp/pkg/gadb/client_test.go b/hrp/pkg/gadb/client_test.go index 61b613b2..404af6a8 100644 --- a/hrp/pkg/gadb/client_test.go +++ b/hrp/pkg/gadb/client_test.go @@ -7,8 +7,6 @@ import ( ) func TestClient_ServerVersion(t *testing.T) { - SetDebug(true) - adbClient, err := NewClient() if err != nil { t.Fatal(err) @@ -23,8 +21,6 @@ func TestClient_ServerVersion(t *testing.T) { } func TestClient_DeviceSerialList(t *testing.T) { - SetDebug(true) - adbClient, err := NewClient() if err != nil { t.Fatal(err) @@ -41,8 +37,6 @@ func TestClient_DeviceSerialList(t *testing.T) { } func TestClient_DeviceList(t *testing.T) { - SetDebug(true) - adbClient, err := NewClient() if err != nil { t.Fatal(err) @@ -59,8 +53,6 @@ func TestClient_DeviceList(t *testing.T) { } func TestClient_ForwardList(t *testing.T) { - SetDebug(true) - adbClient, err := NewClient() if err != nil { t.Fatal(err) @@ -77,8 +69,6 @@ func TestClient_ForwardList(t *testing.T) { } func TestClient_ForwardKillAll(t *testing.T) { - SetDebug(true) - adbClient, err := NewClient() if err != nil { t.Fatal(err) @@ -96,8 +86,6 @@ func TestClient_Connect(t *testing.T) { t.Fatal(err) } - SetDebug(true) - err = adbClient.Connect("192.168.1.28") if err != nil { t.Fatal(err) @@ -110,8 +98,6 @@ func TestClient_Disconnect(t *testing.T) { t.Fatal(err) } - SetDebug(true) - err = adbClient.Disconnect("192.168.1.28") if err != nil { t.Fatal(err) @@ -124,8 +110,6 @@ func TestClient_DisconnectAll(t *testing.T) { t.Fatal(err) } - SetDebug(true) - err = adbClient.DisconnectAll() if err != nil { t.Fatal(err) @@ -133,8 +117,6 @@ func TestClient_DisconnectAll(t *testing.T) { } func TestClient_KillServer(t *testing.T) { - SetDebug(true) - adbClient, err := NewClient() if err != nil { t.Fatal(err) diff --git a/hrp/pkg/gadb/device_test.go b/hrp/pkg/gadb/device_test.go index 7df8ef08..70ae4889 100644 --- a/hrp/pkg/gadb/device_test.go +++ b/hrp/pkg/gadb/device_test.go @@ -103,7 +103,6 @@ func TestDevice_Usb(t *testing.T) { dev := devices[i] t.Log(dev.Serial(), dev.Usb(), dev.IsUsb()) } - } func TestDevice_DeviceInfo(t *testing.T) { @@ -134,8 +133,6 @@ func TestDevice_Forward(t *testing.T) { t.Fatal(err) } - SetDebug(true) - localPort := 61000 err = devices[0].Forward(localPort, 6790) if err != nil { @@ -159,8 +156,6 @@ func TestDevice_ForwardList(t *testing.T) { t.Fatal(err) } - SetDebug(true) - for i := range devices { dev := devices[i] forwardList, err := dev.ForwardList() @@ -182,8 +177,6 @@ func TestDevice_ForwardKill(t *testing.T) { t.Fatal(err) } - SetDebug(true) - err = devices[0].ForwardKill(6790) if err != nil { t.Fatal(err) @@ -213,8 +206,6 @@ func TestDevice_RunShellCommand(t *testing.T) { // t.Log("\n"+dev.serial, cmdOutput) // } - // SetDebug(true) - dev := devices[len(devices)-1] dev = devices[0] @@ -225,7 +216,6 @@ func TestDevice_RunShellCommand(t *testing.T) { t.Fatal(dev.serial, err) } t.Log("\n⬇️"+dev.serial+"⬇️\n", cmdOutput) - } func TestDevice_EnableAdbOverTCP(t *testing.T) { @@ -242,8 +232,6 @@ func TestDevice_EnableAdbOverTCP(t *testing.T) { dev := devices[len(devices)-1] dev = devices[0] - SetDebug(true) - err = dev.EnableAdbOverTCP() if err != nil { t.Fatal(err) @@ -264,8 +252,6 @@ func TestDevice_List(t *testing.T) { dev := devices[len(devices)-1] dev = devices[0] - SetDebug(true) - // fileEntries, err := dev.List("/sdcard") fileEntries, err := dev.List("/sdcard/Download") if err != nil { @@ -291,8 +277,6 @@ func TestDevice_Push(t *testing.T) { dev := devices[len(devices)-1] dev = devices[0] - SetDebug(true) - file, _ := os.Open("/Users/hero/Documents/temp/MuMu共享文件夹/test.txt") err = dev.PushFile(file, "/sdcard/Download/push.txt", time.Now()) if err != nil { @@ -319,8 +303,6 @@ func TestDevice_Pull(t *testing.T) { dev := devices[len(devices)-1] dev = devices[0] - SetDebug(true) - buffer := bytes.NewBufferString("") err = dev.Pull("/sdcard/Download/hello.txt", buffer) if err != nil { diff --git a/hrp/pkg/gadb/gadb.go b/hrp/pkg/gadb/gadb.go deleted file mode 100644 index 14b224ee..00000000 --- a/hrp/pkg/gadb/gadb.go +++ /dev/null @@ -1,17 +0,0 @@ -package gadb - -import "log" - -var debugFlag = false - -// SetDebug set debug mode -func SetDebug(debug bool) { - debugFlag = debug -} - -func debugLog(msg string) { - if !debugFlag { - return - } - log.Println("[DEBUG] [gadb] " + msg) -} diff --git a/hrp/pkg/gadb/sync_transport.go b/hrp/pkg/gadb/sync_transport.go index 5eceee95..6e55df6b 100644 --- a/hrp/pkg/gadb/sync_transport.go +++ b/hrp/pkg/gadb/sync_transport.go @@ -8,6 +8,8 @@ import ( "io" "net" "time" + + "github.com/rs/zerolog/log" ) type syncTransport struct { @@ -29,7 +31,7 @@ func (sync syncTransport) Send(command, data string) (err error) { } msg.WriteString(data) - debugLog(fmt.Sprintf("--> %s", msg.String())) + log.Debug().Str("msg", msg.String()).Msg("sync run adb command") return _send(sync.sock, msg.Bytes()) } @@ -56,7 +58,7 @@ func (sync syncTransport) SendStatus(statusCode string, n uint32) (err error) { if err = binary.Write(msg, binary.LittleEndian, n); err != nil { return fmt.Errorf("sync transport write: %w", err) } - debugLog(fmt.Sprintf("--> %s", msg.String())) + log.Debug().Str("msg", msg.String()).Msg("sync send adb status") return _send(sync.sock, msg.Bytes()) } @@ -65,7 +67,6 @@ func (sync syncTransport) sendChunk(buffer []byte) (err error) { if err = binary.Write(msg, binary.LittleEndian, int32(len(buffer))); err != nil { return fmt.Errorf("sync transport write: %w", err) } - debugLog(fmt.Sprintf("--> %s ......", msg.String())) msg.Write(buffer) return _send(sync.sock, msg.Bytes()) } @@ -76,22 +77,22 @@ func (sync syncTransport) VerifyStatus() (err error) { return err } - log := bytes.NewBufferString(fmt.Sprintf("<-- %s", status)) + logs := bytes.NewBufferString(fmt.Sprintf("<-- %s", status)) defer func() { - debugLog(log.String()) + fmt.Println(logs.String()) }() var tmpUint32 uint32 if tmpUint32, err = sync.ReadUint32(); err != nil { return fmt.Errorf("sync transport read (status): %w", err) } - log.WriteString(fmt.Sprintf(" %d\t", tmpUint32)) + logs.WriteString(fmt.Sprintf(" %d\t", tmpUint32)) var msg string if msg, err = sync.ReadStringN(int(tmpUint32)); err != nil { return err } - log.WriteString(msg) + logs.WriteString(msg) if status == "FAIL" { err = fmt.Errorf("sync verify status (fail): %s", msg) @@ -139,8 +140,10 @@ func (sync syncTransport) readChunk() (chunk []byte, err error) { return nil, err } - log := bytes.NewBufferString("") - defer func() { debugLog(log.String()) }() + logs := bytes.NewBufferString("") + defer func() { + fmt.Println(logs.String()) + }() var tmpUint32 uint32 if tmpUint32, err = sync.ReadUint32(); err != nil { @@ -148,35 +151,34 @@ func (sync syncTransport) readChunk() (chunk []byte, err error) { } if status == "FAIL" { - log.WriteString(fmt.Sprintf("<-- %s\t%d\t", status, tmpUint32)) + logs.WriteString(fmt.Sprintf("<-- %s\t%d\t", status, tmpUint32)) var sError string if sError, err = sync.ReadStringN(int(tmpUint32)); err != nil { return nil, fmt.Errorf("read chunk (error message): %w", err) } err = fmt.Errorf("status (fail): %s", sError) - log.WriteString(sError) + logs.WriteString(sError) return } switch status { case "DONE": - log.WriteString(fmt.Sprintf("<-- %s", status)) + logs.WriteString(fmt.Sprintf("<-- %s", status)) err = syncReadChunkDone return case "DATA": - log.WriteString(fmt.Sprintf("<-- %s\t%d\t", status, tmpUint32)) + logs.WriteString(fmt.Sprintf("<-- %s\t%d\t", status, tmpUint32)) if chunk, err = sync.ReadBytesN(int(tmpUint32)); err != nil { return nil, err } default: - log.WriteString(fmt.Sprintf("<-- %s\t%d\t", status, tmpUint32)) + logs.WriteString(fmt.Sprintf("<-- %s\t%d\t", status, tmpUint32)) err = errors.New("unknown error") } - log.WriteString("......") + logs.WriteString("......") return - } func (sync syncTransport) ReadDirectoryEntry() (entry DeviceFileInfo, err error) { @@ -185,43 +187,43 @@ func (sync syncTransport) ReadDirectoryEntry() (entry DeviceFileInfo, err error) return DeviceFileInfo{}, err } - log := bytes.NewBufferString(fmt.Sprintf("<-- %s", status)) + logs := bytes.NewBufferString(fmt.Sprintf("<-- %s", status)) defer func() { - debugLog(log.String()) + fmt.Println(logs.String()) }() if status == "DONE" { return } - log = bytes.NewBufferString(fmt.Sprintf("<-- %s\t", status)) + logs = bytes.NewBufferString(fmt.Sprintf("<-- %s\t", status)) if err = binary.Read(sync.sock, binary.LittleEndian, &entry.Mode); err != nil { return DeviceFileInfo{}, fmt.Errorf("sync transport read (mode): %w", err) } - log.WriteString(entry.Mode.String() + "\t") + logs.WriteString(entry.Mode.String() + "\t") if entry.Size, err = sync.ReadUint32(); err != nil { return DeviceFileInfo{}, fmt.Errorf("sync transport read (size): %w", err) } - log.WriteString(fmt.Sprintf("%10d", entry.Size) + "\t") + logs.WriteString(fmt.Sprintf("%10d", entry.Size) + "\t") var tmpUint32 uint32 if tmpUint32, err = sync.ReadUint32(); err != nil { return DeviceFileInfo{}, fmt.Errorf("sync transport read (time): %w", err) } entry.LastModified = time.Unix(int64(tmpUint32), 0) - log.WriteString(entry.LastModified.String() + "\t") + logs.WriteString(entry.LastModified.String() + "\t") if tmpUint32, err = sync.ReadUint32(); err != nil { return DeviceFileInfo{}, fmt.Errorf("sync transport read (file name length): %w", err) } - log.WriteString(fmt.Sprintf("%d\t", tmpUint32)) + logs.WriteString(fmt.Sprintf("%d\t", tmpUint32)) if entry.Name, err = sync.ReadStringN(int(tmpUint32)); err != nil { return DeviceFileInfo{}, fmt.Errorf("sync transport read (file name): %w", err) } - log.WriteString(entry.Name + "\t") + logs.WriteString(entry.Name + "\t") return } diff --git a/hrp/pkg/gadb/transport.go b/hrp/pkg/gadb/transport.go index 31726772..abf3adf6 100644 --- a/hrp/pkg/gadb/transport.go +++ b/hrp/pkg/gadb/transport.go @@ -8,6 +8,8 @@ import ( "net" "strconv" "time" + + "github.com/rs/zerolog/log" ) var ErrConnBroken = errors.New("socket connection broken") @@ -32,7 +34,7 @@ func newTransport(address string, readTimeout ...time.Duration) (tp transport, e func (t transport) Send(command string) (err error) { msg := fmt.Sprintf("%04x%s", len(command), command) - debugLog(fmt.Sprintf("--> %s", command)) + log.Debug().Str("cmd", command).Msg("run adb command") return _send(t.sock, []byte(msg)) } @@ -42,7 +44,6 @@ func (t transport) VerifyResponse() (err error) { return err } if status == "OKAY" { - debugLog(fmt.Sprintf("<-- %s", status)) return nil } @@ -51,7 +52,7 @@ func (t transport) VerifyResponse() (err error) { return err } err = fmt.Errorf("command failed: %s", sError) - debugLog(fmt.Sprintf("<-- %s %s", status, sError)) + log.Error().Str("status", status).Str("err", sError).Msg("verify adb response failed") return } @@ -63,7 +64,6 @@ func (t transport) ReadStringAll() (s string, err error) { func (t transport) ReadBytesAll() (raw []byte, err error) { raw, err = ioutil.ReadAll(t.sock) - debugLog(fmt.Sprintf("\r%s", raw)) return } @@ -84,7 +84,6 @@ func (t transport) UnpackBytes() (raw []byte, err error) { } raw, err = t.ReadBytesN(int(size)) - debugLog(fmt.Sprintf("\r%s", raw)) return } diff --git a/hrp/pkg/gadb/transport_test.go b/hrp/pkg/gadb/transport_test.go index 96986365..143cd438 100644 --- a/hrp/pkg/gadb/transport_test.go +++ b/hrp/pkg/gadb/transport_test.go @@ -7,8 +7,6 @@ import ( ) func Test_transport_VerifyResponse(t *testing.T) { - SetDebug(true) - transport, err := newTransport("localhost:5037") if err != nil { t.Fatal(err)