feat: add -logfile flag to write logs to a file
The -logfile flag writes log output to a file in addition to stderr, so users can run barnard in the TUI without log spam on screen. Usage: barnard -log=debug -logfile=/tmp/barnard.log -server=mumble.example.com
This commit is contained in:
committed by
Brandon McGinty
parent
e483512f74
commit
53918788f7
@@ -117,6 +117,7 @@ func main() {
|
||||
profile := flag.Bool("profile", false, "add http server to serve profiles")
|
||||
noiseSuppressionEnabled := flag.Bool("noise-suppression", false, "enable noise suppression for microphone input")
|
||||
logLevel := flag.String("log", "warn", "log level: debug, info, warn, error")
|
||||
logFile := flag.String("logfile", "", "write logs to this file (in addition to stderr)")
|
||||
|
||||
flag.Parse()
|
||||
|
||||
@@ -134,7 +135,17 @@ func main() {
|
||||
default:
|
||||
level = barnlog.LevelWarn
|
||||
}
|
||||
barnlog.SetLogger(barnlog.NewWriterLogger(os.Stderr, level))
|
||||
// Default: log to stderr
|
||||
var writer io.Writer = os.Stderr
|
||||
if *logFile != "" {
|
||||
f, err := os.OpenFile(*logFile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "cannot open log file %s: %v\n", *logFile, err)
|
||||
} else {
|
||||
writer = io.MultiWriter(os.Stderr, f)
|
||||
}
|
||||
}
|
||||
barnlog.SetLogger(barnlog.NewWriterLogger(writer, level))
|
||||
|
||||
if *profile == true {
|
||||
go func() {
|
||||
|
||||
Reference in New Issue
Block a user