mirror of
https://github.com/Xevion/r2park.git
synced 2025-12-08 10:08:08 -06:00
Split output into stdout/stderr based on log level
This commit is contained in:
12
main.go
12
main.go
@@ -1,6 +1,7 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"flag"
|
||||
"os"
|
||||
"os/signal"
|
||||
@@ -148,12 +149,23 @@ func Bot() {
|
||||
defer log.Warn("Graceful shutdown complete")
|
||||
}
|
||||
|
||||
type OutputSplitter struct{}
|
||||
|
||||
func (splitter *OutputSplitter) Write(p []byte) (n int, err error) {
|
||||
if bytes.Contains(p, []byte("level=error")) {
|
||||
return os.Stderr.Write(p)
|
||||
}
|
||||
return os.Stdout.Write(p)
|
||||
}
|
||||
|
||||
func main() {
|
||||
log.SetFormatter(&log.TextFormatter{
|
||||
TimestampFormat: "2006-01-02 15:04:05",
|
||||
FullTimestamp: true,
|
||||
})
|
||||
|
||||
log.SetOutput(&OutputSplitter{})
|
||||
|
||||
// Load environment variables
|
||||
if err := godotenv.Load(); err != nil {
|
||||
log.WithField("error", err).Warn("Failed to load .env file")
|
||||
|
||||
Reference in New Issue
Block a user