diff --git a/client/client-conn.go b/client/client-conn.go index 730eea0..fb131d8 100644 --- a/client/client-conn.go +++ b/client/client-conn.go @@ -506,7 +506,7 @@ func (c *ClientConn) mainLoop() { // Unsupported message type! Bad! break } - logger.Infof("ClientConn.MainLoop: got ServerMessage:%s", common.ServerMessageType(messageType)) + logger.Debugf("ClientConn.MainLoop: got ServerMessage:%s", common.ServerMessageType(messageType)) reader.SendMessageStart(common.ServerMessageType(messageType)) reader.PublishBytes([]byte{byte(messageType)}) diff --git a/client/server-messages.go b/client/server-messages.go index 5f04cae..2746a13 100644 --- a/client/server-messages.go +++ b/client/server-messages.go @@ -63,7 +63,7 @@ func (fbm *MsgFramebufferUpdate) Read(c common.IClientConn, r *common.RfbReadHel // We must always support the raw encoding rawEnc := new(encodings.RawEncoding) encMap[rawEnc.Type()] = rawEnc - logger.Infof("MsgFramebufferUpdate.Read: numrects= %d", numRects) + logger.Debugf("MsgFramebufferUpdate.Read: numrects= %d", numRects) rects := make([]common.Rectangle, numRects) for i := uint16(0); i < numRects; i++ { @@ -90,7 +90,7 @@ func (fbm *MsgFramebufferUpdate) Read(c common.IClientConn, r *common.RfbReadHel encType := common.EncodingType(encodingTypeInt) - logger.Infof("MsgFramebufferUpdate.Read: rect# %d, rect hdr data: enctype=%s, data: %s", i, encType, string(jBytes)) + logger.Debugf("MsgFramebufferUpdate.Read: rect# %d, rect hdr data: enctype=%s, data: %s", i, encType, string(jBytes)) enc, supported := encMap[encodingTypeInt] if supported { var err error diff --git a/logger/logger.go b/logger/logger.go index 5b3fecf..32a867d 100644 --- a/logger/logger.go +++ b/logger/logger.go @@ -2,7 +2,31 @@ package logger import "fmt" -var simpleLogger = SimpleLogger{LogLevelWarn} +var simpleLogger = SimpleLogger{LogLevelInfo} + +func SetLogLevel(logLevel string) { + level := GetLogLevel(logLevel) + fmt.Println("Log level set to: ", logLevel) + simpleLogger = SimpleLogger{level} +} + +func GetLogLevel(logLevel string) LogLevel { + switch logLevel { + case "trace": + return LogLevelTrace + case "debug": + return LogLevelDebug + case "info": + return LogLevelInfo + case "warn": + return LogLevelWarn + case "error": + return LogLevelError + case "fatal": + return LogLevelFatal + } + return LogLevelInfo +} type Logger interface { Debug(v ...interface{}) diff --git a/player/cmd/main.go b/player/cmd/main.go index a4cd74e..01f297c 100644 --- a/player/cmd/main.go +++ b/player/cmd/main.go @@ -15,8 +15,10 @@ func main() { wsPort := flag.String("wsPort", "", "websocket port for player to listen to client connections") tcpPort := flag.String("tcpPort", "", "tcp port for player to listen to client connections") fbsFile := flag.String("fbsFile", "", "fbs file to serve to all connecting clients") + logLevel := flag.String("logLevel", "info", "change logging level") flag.Parse() + logger.SetLogLevel(*logLevel) fmt.Println("**************************************************************************") fmt.Println("*** This is a toy server that replays a single FBS file to all clients ***") diff --git a/proxy/cmd/main.go b/proxy/cmd/main.go index 29487aa..a0f2f64 100644 --- a/proxy/cmd/main.go +++ b/proxy/cmd/main.go @@ -14,8 +14,10 @@ func main() { var targetVncPort = flag.String("targPort", "", "target vnc server port") var targetVncHost = flag.String("targHost", "", "target vnc server host") var targetVncPass = flag.String("targPass", "", "target vnc password") + var logLevel = flag.String("logLevel", "info", "change logging level") flag.Parse() + logger.SetLogLevel(*logLevel) if *tcpPort == "" && *wsPort == "" { logger.Error("no listening port defined") diff --git a/recorder/cmd/main.go b/recorder/cmd/main.go index f2c64f5..2dc834e 100644 --- a/recorder/cmd/main.go +++ b/recorder/cmd/main.go @@ -22,6 +22,7 @@ func main() { var targetVncHost = flag.String("targHost", "localhost", "target vnc hostname") flag.Parse() + logger.SetLogLevel(*logLevel) if *targetVncHost == "" { logger.Error("no target vnc server host defined") diff --git a/server/handlers.go b/server/handlers.go index 4d94cf3..70b58dd 100644 --- a/server/handlers.go +++ b/server/handlers.go @@ -95,7 +95,7 @@ func ServerSecurityHandler(cfg *ServerConfig, c *ServerConn) error { sType, ok := secTypes[secType] if !ok { - return fmt.Errorf("server type %d not implemented") + return fmt.Errorf("server type %d not implemented", secType) } var authCode uint32 @@ -135,7 +135,7 @@ func ServerServerInitHandler(cfg *ServerConfig, c *ServerConn) error { NameLength: uint32(len(cfg.DesktopName)), NameText: []byte(cfg.DesktopName), } - logger.Infof("Server.ServerServerInitHandler initMessage: %v", srvInit) + logger.Debugf("Server.ServerServerInitHandler initMessage: %v", srvInit) if err := binary.Write(c, binary.BigEndian, srvInit.FBWidth); err != nil { return err } diff --git a/server/server-conn.go b/server/server-conn.go index 7ef88f6..3edeba1 100644 --- a/server/server-conn.go +++ b/server/server-conn.go @@ -196,7 +196,7 @@ func (c *ServerConn) handle() error { return err } - logger.Infof("IServerConn.Handle got ClientMessage: %s, %v", parsedMsg.Type(), parsedMsg) + logger.Debugf("IServerConn.Handle got ClientMessage: %s, %v", parsedMsg.Type(), parsedMsg) //TODO: treat set encodings by allowing only supported encoding in proxy configurations //// if parsedMsg.Type() == common.SetEncodingsMsgType{ //// c.cfg.Encodings