add cli for debug
This commit is contained in:
parent
05fb58e438
commit
899b888d82
5 changed files with 61 additions and 36 deletions
1
server/.gitignore
vendored
1
server/.gitignore
vendored
|
|
@ -1,3 +1,4 @@
|
|||
/cofffeemachineConfig
|
||||
services\logger\serverlog.log
|
||||
client_secret.json
|
||||
app.env
|
||||
|
|
@ -14,6 +14,7 @@ import (
|
|||
"recipe-manager/data"
|
||||
"recipe-manager/models"
|
||||
"recipe-manager/routers"
|
||||
"recipe-manager/services/cli"
|
||||
"recipe-manager/services/logger"
|
||||
"recipe-manager/services/oauth"
|
||||
"strings"
|
||||
|
|
@ -84,6 +85,8 @@ func (s *Server) Run() error {
|
|||
logger.EnableDebug(s.cfg.Debug)
|
||||
}
|
||||
|
||||
go cli.CommandLineListener()
|
||||
|
||||
s.createHandler()
|
||||
// log.Printf("Server running on %s", s.server.Addr)
|
||||
Log.Info("Server running", zap.String("addr", s.server.Addr))
|
||||
|
|
@ -373,31 +376,6 @@ func (s *Server) createHandler() {
|
|||
Log.Debug("Scan dir completed < ", zap.String("path", r.RequestURI))
|
||||
})
|
||||
|
||||
// dl merged json file
|
||||
// r.Get("/dlmerged", func(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
// })
|
||||
|
||||
r.Get("/mergefileList", func(w http.ResponseWriter, r *http.Request) {
|
||||
merge_dir, err := os.ReadDir("cofffeemachineConfig/merge")
|
||||
if err != nil {
|
||||
Log.Error("Error while trying to read dir: ", zap.String("dir", "cofffeemachineConfig/merge"), zap.Error(err))
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
displayable := make([]string, 0)
|
||||
|
||||
for _, file := range merge_dir {
|
||||
if strings.Contains(file.Name(), ".json") {
|
||||
displayable = append(displayable, file.Name()[:len(file.Name())-len(filepath.Ext(file.Name()))])
|
||||
}
|
||||
}
|
||||
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(http.StatusOK)
|
||||
json.NewEncoder(w).Encode(map[string][]string{"dirs": displayable})
|
||||
})
|
||||
|
||||
// Recipe Router
|
||||
rr := routers.NewRecipeRouter(database)
|
||||
rr.Route(r)
|
||||
|
|
|
|||
44
server/services/cli/cli.go
Normal file
44
server/services/cli/cli.go
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
package cli
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"os"
|
||||
"recipe-manager/services/logger"
|
||||
"strings"
|
||||
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
var (
|
||||
log_inst = logger.GetInstance()
|
||||
disable_cli = false
|
||||
debug = logger.GetDbgState()
|
||||
)
|
||||
|
||||
func CommandLineListener() {
|
||||
debug = logger.GetDbgState()
|
||||
reader := bufio.NewReader(os.Stdin)
|
||||
for !disable_cli {
|
||||
input, _ := reader.ReadString('\n')
|
||||
input = strings.TrimSpace(input)
|
||||
|
||||
switch input {
|
||||
case "debug":
|
||||
logger.EnableDebug(!logger.GetDbgState())
|
||||
debug = logger.GetDbgState()
|
||||
// log_inst.Info("Debug mode enable from cli", zap.Bool("enable", logger.GetDbgState()))
|
||||
case "ctl":
|
||||
if debug {
|
||||
log_inst.Debug("CMD > ", zap.String("CMD", input))
|
||||
}
|
||||
default:
|
||||
if debug {
|
||||
// log_inst.Debug("CMD > ", zap.String("CMD", input))
|
||||
|
||||
// Add functions here!
|
||||
} else {
|
||||
log_inst.Error("INVALID CMD or CMD DISABLED", zap.String("CMD", input))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -22,11 +22,14 @@ var (
|
|||
LocalTime: true,
|
||||
})
|
||||
json_enc = zapcore.NewJSONEncoder(zapcore.EncoderConfig{
|
||||
TimeKey: "timestamp",
|
||||
LevelKey: "level",
|
||||
NameKey: "logger",
|
||||
EncodeLevel: zapcore.LowercaseLevelEncoder,
|
||||
EncodeTime: zapcore.ISO8601TimeEncoder,
|
||||
TimeKey: "timestamp",
|
||||
LevelKey: "level",
|
||||
NameKey: "logger",
|
||||
CallerKey: "caller",
|
||||
MessageKey: "message",
|
||||
StacktraceKey: "error",
|
||||
EncodeLevel: zapcore.LowercaseLevelEncoder,
|
||||
EncodeTime: zapcore.ISO8601TimeEncoder,
|
||||
})
|
||||
console_enc = zapcore.NewConsoleEncoder(zapcore.EncoderConfig{
|
||||
TimeKey: "timestamp",
|
||||
|
|
@ -66,4 +69,9 @@ func GetInstance() *zap.Logger {
|
|||
|
||||
func EnableDebug(state bool) {
|
||||
enable_debug = state
|
||||
log_inst.Debug("EnableDebug", zap.Bool("enable", state))
|
||||
}
|
||||
|
||||
func GetDbgState() bool {
|
||||
return enable_debug
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
{"level":"info","timestamp":"2023-09-22T10:58:35.135+0700","addr":":8080"}
|
||||
{"level":"info","timestamp":"2023-09-22T10:58:47.594+0700","user":"pakin tadatanasakul"}
|
||||
{"level":"info","timestamp":"2023-09-22T10:59:55.661+0700","user":"pakin tadatanasakul"}
|
||||
{"level":"info","timestamp":"2023-09-22T10:59:59.995+0700","user":"pakin tadatanasakul"}
|
||||
{"level":"info","timestamp":"2023-09-22T11:00:00.056+0700","user":"pakin tadatanasakul"}
|
||||
{"level":"info","timestamp":"2023-09-22T11:00:07.558+0700","user":"pakin tadatanasakul"}
|
||||
Loading…
Add table
Add a link
Reference in a new issue