Customizable logger
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package daemons
|
||||
|
||||
import (
|
||||
"log"
|
||||
"math/rand"
|
||||
"time"
|
||||
|
||||
@@ -16,7 +15,7 @@ type NumberPrinter struct {
|
||||
// Startup sets up panic handler and starts enqueuing number printing jobs.
|
||||
func (n *NumberPrinter) Startup() {
|
||||
n.HandlePanics(func(err interface{}) {
|
||||
log.Printf("Oh, crap! There was a panic, take a look: %v", err)
|
||||
n.Logf("Oh, crap! There was a panic, take a look: %v", err)
|
||||
})
|
||||
|
||||
n.LimitRate(3, time.Second)
|
||||
@@ -44,6 +43,6 @@ func (n *NumberPrinter) makeActor(num int) satan.Actor {
|
||||
panic("Nooooo! Random number generator returned a zero!")
|
||||
}
|
||||
|
||||
log.Println("Number printer says:", num)
|
||||
n.Log("Number printer says:", num)
|
||||
}
|
||||
}
|
||||
|
||||
+3
-12
@@ -2,8 +2,6 @@ package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"os"
|
||||
"os/signal"
|
||||
"strings"
|
||||
@@ -15,27 +13,20 @@ import (
|
||||
)
|
||||
|
||||
func main() {
|
||||
var debug bool
|
||||
var brokers string
|
||||
|
||||
flag.BoolVar(&debug, "v", false, "Verbose mode")
|
||||
flag.StringVar(&brokers, "brokers", "127.0.0.1:9092", "Kafka broker addresses separated by space")
|
||||
flag.Parse()
|
||||
|
||||
log.SetOutput(ioutil.Discard)
|
||||
if debug {
|
||||
log.SetOutput(os.Stderr)
|
||||
}
|
||||
|
||||
kafka.Initialize(strings.Split(brokers, " "))
|
||||
defer kafka.Shutdown()
|
||||
|
||||
logger := stats.NewStdoutLogger(0)
|
||||
defer logger.Print()
|
||||
statsLogger := stats.NewStdoutLogger(0)
|
||||
defer statsLogger.Print()
|
||||
|
||||
s := satan.Summon()
|
||||
s.SubscribeFunc = kafka.Subscribe
|
||||
s.Statistics = logger
|
||||
s.Statistics = statsLogger
|
||||
|
||||
s.AddDaemon(&daemons.NumberPrinter{})
|
||||
s.AddDaemon(&daemons.PriceConsumer{})
|
||||
|
||||
Reference in New Issue
Block a user