diff --git a/listener/listener.go b/listener/listener.go index 8d06f26..bc547ca 100644 --- a/listener/listener.go +++ b/listener/listener.go @@ -81,11 +81,11 @@ func Run() { messageBuffer := new(bytes.Buffer) messageWriter := bufio.NewWriter(messageBuffer) + // TODO: add timestamp to message fmt.Fprintf(messageWriter, "%s", string(m.Bytes())) - // fmt.Fprintf(messageWriter, "\n--\n") messageWriter.Flush() - messageLogger.messageChannel <- messageBuffer.String() + messageLogger.Println(messageBuffer.String()) }() } else { go sendMessage(m) diff --git a/listener/message_logger.go b/listener/message_logger.go index cdabcf1..c4444e6 100644 --- a/listener/message_logger.go +++ b/listener/message_logger.go @@ -1,12 +1,12 @@ package listener import ( - "fmt" + "log" "os" ) type MessageLogger struct { - messageChannel chan string + *log.Logger file *os.File } @@ -16,34 +16,18 @@ func NewLog(filename string) *MessageLogger { file, err := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0660) if err != nil { - panic(fmt.Sprintf("Cannot open file %q. Error: %s", filename, err)) + log.Fatal("Cannot open file %q. Error: %s", filename, err) } + logger := log.New(file, "", 0) + messageLogger := &MessageLogger{ - messageChannel: make(chan string), - file: file, + Logger: logger, } - go func() { - defer func() { - messageLogger.close() - }() - - for { - select { - case message := <-messageLogger.messageChannel: - messageLogger.log(message) - } - } - }() - return messageLogger } -func (messageLogger *MessageLogger) log(message string) { - fmt.Fprintln(messageLogger.file, message) -} - func (messageLogger *MessageLogger) close() { messageLogger.file.Close() } diff --git a/replay/replay.go b/replay/replay.go index 2eace6d..bacde72 100644 --- a/replay/replay.go +++ b/replay/replay.go @@ -125,7 +125,6 @@ func (self *ReplayManager) RunReplayFromNetwork() { go self.handleConnection(conn) } - } func (self *ReplayManager) handleConnection(conn net.Conn) error {