Customizable logger

This commit is contained in:
2015-10-24 19:25:16 +03:00
parent 4465d2c561
commit 797e892120
4 changed files with 29 additions and 26 deletions
+2 -3
View File
@@ -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
View File
@@ -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{})