Log timestamp once per tool invocation

This commit is contained in:
Riyyi
2026-04-18 13:37:50 +02:00
parent 8348cc21df
commit fc18e27c25
+10 -4
View File
@@ -8,8 +8,12 @@ import (
"time" "time"
) )
// -----------------------------------------
var logFile *os.File var logFile *os.File
// -----------------------------------------
func OpenLog() error { func OpenLog() error {
logPath := filepath.Join("/var/log", "declpac.log") logPath := filepath.Join("/var/log", "declpac.log")
f, err := os.OpenFile(logPath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) f, err := os.OpenFile(logPath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
@@ -17,6 +21,7 @@ func OpenLog() error {
return err return err
} }
logFile = f logFile = f
writeTimestamp()
return nil return nil
} }
@@ -25,7 +30,7 @@ func GetLogWriter() io.Writer {
} }
func Write(msg []byte) { func Write(msg []byte) {
PrependWithTimestamp(logFile, msg) logFile.Write(msg)
} }
func Close() error { func Close() error {
@@ -35,9 +40,10 @@ func Close() error {
return logFile.Close() return logFile.Close()
} }
func PrependWithTimestamp(w io.Writer, msg []byte) { // -----------------------------------------
func writeTimestamp() {
ts := time.Now().Format("2006-01-02 15:04:05") ts := time.Now().Format("2006-01-02 15:04:05")
header := fmt.Sprintf("\n--- %s ---\n", ts) header := fmt.Sprintf("\n--- %s ---\n", ts)
w.Write([]byte(header)) logFile.Write([]byte(header))
w.Write(msg)
} }