Feature: Replace in-memory log buffer with database-backed logging
This commit is contained in:
23
main.go
23
main.go
@@ -16,13 +16,12 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
runStart = time.Now()
|
||||
logPath = runStart.Format("2006-01-02.15:04:05") + ".gomeshalerter.json"
|
||||
logFile *os.File
|
||||
logData []LogEntry
|
||||
logBuffer *LogRingBuffer
|
||||
db *sql.DB
|
||||
logMutex sync.Mutex // Mutex for thread-safe logging
|
||||
runStart = time.Now()
|
||||
logPath = runStart.Format("2006-01-02.15:04:05") + ".gomeshalerter.json"
|
||||
logFile *os.File
|
||||
logData []LogEntry
|
||||
db *sql.DB
|
||||
logMutex sync.Mutex // Mutex for thread-safe logging
|
||||
)
|
||||
|
||||
func main() {
|
||||
@@ -36,9 +35,6 @@ func main() {
|
||||
log.Fatalf("Failed to open database: %v", err)
|
||||
}
|
||||
|
||||
// Initialize log buffer
|
||||
logBuffer = NewLogRingBuffer(MAX_LOG_ENTRIES)
|
||||
|
||||
// Define a cleanup function to properly close resources
|
||||
cleanup := func() {
|
||||
fmt.Fprintf(os.Stderr, "[shutdown] Closing database...\n")
|
||||
@@ -113,6 +109,13 @@ func main() {
|
||||
webServer(shutdown)
|
||||
}()
|
||||
|
||||
// Start log cleanup worker goroutine
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
logCleanupWorker(shutdown)
|
||||
}()
|
||||
|
||||
// Wait for all goroutines to finish
|
||||
wg.Wait()
|
||||
fmt.Fprintf(os.Stderr, "[shutdown] All goroutines stopped, exiting...\n")
|
||||
|
||||
Reference in New Issue
Block a user