Permalink
Please sign in to comment.
Browse files
Integrate gosteno logging
Change-Id: Idd9b19362566cbe42349f0e61f92a4f80504fada
- Loading branch information...
Showing
with
201 additions
and 34 deletions.
- +3 −4 api.go
- +7 −4 configmanager.go
- +2 −0 configmanager_test.go
- +12 −14 control.go
- +9 −10 eventmonitor.go
- +11 −0 gonit/main.go
- +73 −0 log.go
- +81 −0 log_test.go
- +1 −2 process.go
- +2 −0 test/config/gonit.yml
26
control.go
@@ -0,0 +1,73 @@ | ||
+// Copyright (c) 2012 VMware, Inc. | ||
+ | ||
+package gonit | ||
+ | ||
+import ( | ||
+ "github.com/cloudfoundry/gosteno" | ||
+ "os" | ||
+) | ||
+ | ||
+var Log steno.Logger | ||
+ | ||
+type LoggerConfig struct { | ||
+ Level string | ||
+ FileName string | ||
+ Codec string | ||
+ file *os.File | ||
+} | ||
+ | ||
+func init() { | ||
+ // default configuration | ||
+ config := &LoggerConfig{} | ||
+ err := config.Init() | ||
+ if err != nil { | ||
+ panic(err) | ||
+ } | ||
+} | ||
+ | ||
+func (lc *LoggerConfig) Init() error { | ||
+ var file *os.File | ||
+ var level *steno.LogLevel | ||
+ var err error | ||
+ | ||
+ if lc.Level != "" { | ||
+ level, err = steno.GetLogLevel(lc.Level) | ||
+ if err != nil { | ||
+ return err | ||
+ } | ||
+ } | ||
+ | ||
+ if lc.FileName == "" { | ||
+ file = os.Stdout | ||
+ } else { | ||
+ flags := os.O_APPEND | os.O_CREATE | os.O_WRONLY | ||
+ lc.file, err = os.OpenFile(lc.FileName, flags, 0666) | ||
+ if err != nil { | ||
+ return err | ||
+ } | ||
+ file = lc.file | ||
+ } | ||
+ | ||
+ out := steno.NewIOSink(file) | ||
+ | ||
+ if lc.Codec != "json" { | ||
+ out.SetCodec(steno.NewJsonPrettifier(steno.EXCLUDE_DATA)) | ||
+ } | ||
+ | ||
+ steno.Init(&steno.Config{ | ||
+ EnableLOC: true, | ||
+ Sinks: []steno.Sink{out}, | ||
+ Level: level, | ||
+ }) | ||
+ | ||
+ Log = steno.NewLogger("gonit") | ||
+ | ||
+ return nil | ||
+} | ||
+ | ||
+func (lc *LoggerConfig) Close() error { | ||
+ if lc.file != nil { | ||
+ return lc.file.Close() | ||
+ } | ||
+ return nil | ||
+} |

Oops, something went wrong.
0 comments on commit
53e6d8b