Added readme to Manager. Add support for failed logging attempt log file, to enable fail2ban...
This commit is contained in:
@@ -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),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user