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")
|
profile := flag.Bool("profile", false, "add http server to serve profiles")
|
||||||
noiseSuppressionEnabled := flag.Bool("noise-suppression", false, "enable noise suppression for microphone input")
|
noiseSuppressionEnabled := flag.Bool("noise-suppression", false, "enable noise suppression for microphone input")
|
||||||
logLevel := flag.String("log", "warn", "log level: debug, info, warn, error")
|
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()
|
flag.Parse()
|
||||||
|
|
||||||
@@ -134,7 +135,17 @@ func main() {
|
|||||||
default:
|
default:
|
||||||
level = barnlog.LevelWarn
|
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 {
|
if *profile == true {
|
||||||
go func() {
|
go func() {
|
||||||
|
|||||||
Reference in New Issue
Block a user