mirror of
https://github.com/buger/goreplay.git
synced 2024-04-21 12:32:02 +00:00
Embed log.Logger in MessageLogger
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -125,7 +125,6 @@ func (self *ReplayManager) RunReplayFromNetwork() {
|
||||
|
||||
go self.handleConnection(conn)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (self *ReplayManager) handleConnection(conn net.Conn) error {
|
||||
|
||||
Reference in New Issue
Block a user