Added readme to Manager. Add support for failed logging attempt log file, to enable fail2ban...

This commit is contained in:
Kalzu Rekku
2026-01-06 15:05:59 +02:00
parent f7056082f6
commit 43852b673c
3 changed files with 125 additions and 5 deletions

View File

@@ -2,6 +2,7 @@ package main
import (
"fmt"
"io"
"log"
"os"
)
@@ -12,11 +13,27 @@ type Logger struct {
errorLog *log.Logger
}
func NewLogger() *Logger {
func NewLogger(logPath string) *Logger {
// Default to stdout/stderr
var infoOut io.Writer = os.Stdout
var errorOut io.Writer = os.Stderr
if logPath != "" {
// Open log file in append mode, create if not exists
f, err := os.OpenFile(logPath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
fmt.Printf("Failed to open log file: %v\n", err)
} else {
// MultiWriter sends output to both the terminal and the file
infoOut = io.MultiWriter(os.Stdout, f)
errorOut = io.MultiWriter(os.Stderr, f)
}
}
return &Logger{
infoLog: log.New(os.Stdout, "INFO ", log.Ldate|log.Ltime|log.Lshortfile),
warnLog: log.New(os.Stdout, "WARN ", log.Ldate|log.Ltime|log.Lshortfile),
errorLog: log.New(os.Stderr, "ERROR ", log.Ldate|log.Ltime|log.Lshortfile),
infoLog: log.New(infoOut, "INFO ", log.Ldate|log.Ltime|log.Lshortfile),
warnLog: log.New(infoOut, "WARN ", log.Ldate|log.Ltime|log.Lshortfile),
errorLog: log.New(errorOut, "ERROR ", log.Ldate|log.Ltime|log.Lshortfile),
}
}