starter repo

This commit is contained in:
wagslane
2024-04-02 12:38:06 -06:00
parent d4a1dc9bdf
commit 4885f7a113
18 changed files with 624 additions and 1 deletions

View File

@@ -0,0 +1,32 @@
package gamelogic
import (
"fmt"
"log"
"os"
"time"
"github.com/bootdotdev/learn-pub-sub-starter/internal/routing"
)
const logsFile = "game.log"
const writeToDiskSleep = 1 * time.Second
func WriteLog(gamelog routing.GameLog) error {
log.Printf("received game log...")
time.Sleep(writeToDiskSleep)
f, err := os.OpenFile(logsFile, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
return fmt.Errorf("could not open logs file: %v", err)
}
defer f.Close()
str := fmt.Sprintf("%v %v: %v\n", gamelog.CurrentTime.Format(time.RFC3339), gamelog.Username, gamelog.Message)
_, err = f.WriteString(str)
if err != nil {
return fmt.Errorf("could not write to logs file: %v", err)
}
return nil
}