You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ma...@apache.org on 2016/05/20 01:22:12 UTC
[03/13] incubator-mynewt-newt git commit: Add logs list support
Add logs list support
Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/commit/4724388c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/tree/4724388c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/diff/4724388c
Branch: refs/heads/develop
Commit: 4724388c2420086f14c804daca5899ea50a0ee64
Parents: ee38234
Author: Vipul Rahane <vi...@runtime.io>
Authored: Tue Apr 26 12:23:23 2016 -0700
Committer: Vipul Rahane <vi...@runtime.io>
Committed: Tue May 17 12:39:53 2016 -0700
----------------------------------------------------------------------
newtmgr/cli/logs.go | 57 +++++++++++++++++++++++++++++++++++++++++++
newtmgr/protocol/logs.go | 46 ++++++++++++++++++++++++++++++++++
2 files changed, 103 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4724388c/newtmgr/cli/logs.go
----------------------------------------------------------------------
diff --git a/newtmgr/cli/logs.go b/newtmgr/cli/logs.go
index bd26724..ed97060 100644
--- a/newtmgr/cli/logs.go
+++ b/newtmgr/cli/logs.go
@@ -237,6 +237,55 @@ func logsModuleListCmd(cmd *cobra.Command, args []string) {
}
+func logsListCmd(cmd *cobra.Command, args []string) {
+ cpm, err := config.NewConnProfileMgr()
+ if err != nil {
+ nmUsage(cmd, err)
+ }
+
+ profile, err := cpm.GetConnProfile(ConnProfileName)
+ if err != nil {
+ nmUsage(cmd, err)
+ }
+
+ conn, err := transport.NewConn(profile)
+ if err != nil {
+ nmUsage(cmd, err)
+ }
+
+ runner, err := protocol.NewCmdRunner(conn)
+ if err != nil {
+ nmUsage(cmd, err)
+ }
+
+ req, err := protocol.NewLogsListReq()
+ if err != nil {
+ nmUsage(cmd, err)
+ }
+
+ nmr, err := req.Encode()
+ if err != nil {
+ nmUsage(cmd, err)
+ }
+
+ if err := runner.WriteReq(nmr); err != nil {
+ nmUsage(cmd, err)
+ }
+
+ rsp, err := runner.ReadResp()
+ if err != nil {
+ nmUsage(cmd, err)
+ }
+
+ decodedResponse, err := protocol.DecodeLogsListResponse(rsp.Data)
+ if err != nil {
+ nmUsage(cmd, err)
+ }
+
+ fmt.Println(decodedResponse.List)
+ fmt.Printf("Return Code = %d\n", decodedResponse.ReturnCode)
+}
+
func logsLevelListCmd(cmd *cobra.Command, args []string) {
cpm, err := config.NewConnProfileMgr()
if err != nil {
@@ -371,5 +420,13 @@ func logsCmd() *cobra.Command {
}
logsCmd.AddCommand(levelListCmd)
+
+ ListCmd := &cobra.Command{
+ Use: "log_list",
+ Short: "Log List Command",
+ Run: logsListCmd,
+ }
+
+ logsCmd.AddCommand(ListCmd)
return logsCmd
}
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4724388c/newtmgr/protocol/logs.go
----------------------------------------------------------------------
diff --git a/newtmgr/protocol/logs.go b/newtmgr/protocol/logs.go
index 327e79f..c75bc56 100644
--- a/newtmgr/protocol/logs.go
+++ b/newtmgr/protocol/logs.go
@@ -28,6 +28,7 @@ const (
LOGS_NMGR_OP_APPEND = 2
LOGS_NMGR_OP_MODULE_LIST = 3
LOGS_NMGR_OP_LEVEL_LIST = 4
+ LOGS_NMGR_OP_LOGS_LIST = 5
)
type LogsShowReq struct {
@@ -42,6 +43,9 @@ type LogsModuleListReq struct {
type LogsLevelListReq struct {
}
+type LogsListReq struct {
+}
+
type LogEntry struct {
Timestamp int64 `json:"ts"`
Msg string `json:"msg"`
@@ -71,6 +75,11 @@ type LogsLevelListRsp struct {
Map map[string]int `json:"level_map"`
}
+type LogsListRsp struct {
+ ReturnCode int `json:"rc"`
+ List []string `json:"log_list"`
+}
+
func NewLogsShowReq() (*LogsShowReq, error) {
s := &LogsShowReq{}
@@ -89,6 +98,12 @@ func NewLogsLevelListReq() (*LogsLevelListReq, error) {
return s, nil
}
+func NewLogsListReq() (*LogsListReq, error) {
+ s := &LogsListReq{}
+
+ return s, nil
+}
+
func (sr *LogsModuleListReq) Encode() (*NmgrReq, error) {
nmr, err := NewNmgrReq()
if err != nil {
@@ -109,6 +124,37 @@ func (sr *LogsModuleListReq) Encode() (*NmgrReq, error) {
return nmr, nil
}
+func DecodeLogsListResponse(data []byte) (*LogsListRsp, error) {
+ var resp LogsListRsp
+ err := json.Unmarshal(data, &resp)
+ if err != nil {
+ return nil, util.NewNewtError(fmt.Sprintf("Invalid incoming json: %s",
+ err.Error()))
+ }
+
+ return &resp, nil
+}
+
+func (sr *LogsListReq) Encode() (*NmgrReq, error) {
+ nmr, err := NewNmgrReq()
+ if err != nil {
+ return nil, err
+ }
+
+ nmr.Op = NMGR_OP_READ
+ nmr.Flags = 0
+ nmr.Group = NMGR_GROUP_ID_LOGS
+ nmr.Id = LOGS_NMGR_OP_LOGS_LIST
+
+ req := &LogsListReq{}
+
+ data, _ := json.Marshal(req)
+ nmr.Data = data
+ nmr.Len = uint16(len(data))
+
+ return nmr, nil
+}
+
func DecodeLogsLevelListResponse(data []byte) (*LogsLevelListRsp, error) {
var resp LogsLevelListRsp
err := json.Unmarshal(data, &resp)