/
main.go
53 lines (45 loc) · 975 Bytes
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package main
import (
"bufio"
"flag"
"fmt"
"os"
"git.fractalqb.de/fractalqb/qblog"
"github.com/CmdrVasquess/watched"
"github.com/CmdrVasquess/watched/edeh/edehnet"
)
type dump struct {
*bufio.Writer
}
func (d dump) OnJournalEvent(e watched.JounalEvent) error {
fmt.Fprintf(d.Writer, "%s:%d\t", e.File, e.EventNo)
d.Write(e.Event)
fmt.Fprintln(d)
return d.Flush()
}
func (d dump) OnStatusEvent(e watched.StatusEvent) error {
fmt.Fprintf(d.Writer, "%s: ", e.Type.String())
d.Write(e.Event)
fmt.Fprintln(d)
return d.Flush()
}
func (d dump) Close() error { return nil }
func flags() {
fLog := flag.String("log", "", "Set log level")
flag.Parse()
if *fLog != "" {
qblog.DefaultConfig.ParseFlag(*fLog)
}
}
func main() {
flags()
if flag.NArg() != 1 {
fmt.Printf("Usage: %s <listen address>\n", os.Args[0])
os.Exit(1)
}
toStdout := dump{bufio.NewWriter(os.Stdout)}
nrcv := edehnet.Receiver{Listen: flag.Arg(0)}
for {
nrcv.Run(toStdout)
}
}