mirror of
https://github.com/Xevion/r2park.git
synced 2025-12-08 14:08:04 -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
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"flag"
|
"flag"
|
||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
@@ -148,12 +149,23 @@ func Bot() {
|
|||||||
defer log.Warn("Graceful shutdown complete")
|
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() {
|
func main() {
|
||||||
log.SetFormatter(&log.TextFormatter{
|
log.SetFormatter(&log.TextFormatter{
|
||||||
TimestampFormat: "2006-01-02 15:04:05",
|
TimestampFormat: "2006-01-02 15:04:05",
|
||||||
FullTimestamp: true,
|
FullTimestamp: true,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
log.SetOutput(&OutputSplitter{})
|
||||||
|
|
||||||
// Load environment variables
|
// Load environment variables
|
||||||
if err := godotenv.Load(); err != nil {
|
if err := godotenv.Load(); err != nil {
|
||||||
log.WithField("error", err).Warn("Failed to load .env file")
|
log.WithField("error", err).Warn("Failed to load .env file")
|
||||||
|
|||||||
Reference in New Issue
Block a user