diff --git a/doc.go b/doc.go index 3d386fe..6c045b0 100644 --- a/doc.go +++ b/doc.go @@ -9,7 +9,7 @@ Basic usage of the flogger looks like this: flogger := flog.New(router) -Once you have this, you can do things such as: +Once you have the flogger, you can do things such as: flogger.Print("Hello world!") flogger.Println("Hello world!") @@ -24,5 +24,35 @@ Once you have this, you can do things such as: flogger.Fatalf("Something really bad happened: %s.", problemDescription) +Deployment Environment + +Of course in a real application system you should (probably) create a different kind +of flogger for each deployment environment. + +For example: + + var flogger flog.Flogger + + switch deploymentEnvironment { + case "DEV": + router := NewPrettyWritingRouter(os.Stdout) + + flogger = flog.New(router) + case "PROD": + verboseRouter = flog.NewDiscardingRouter() + if isVerboseMode { + verboseRouter = NewCustomVerboseRouter() + } + + panicDetectionRouter := flog.NewFilteringRouter(NewCustomerPanicRecordingRouter(), filterOnlyPanicsFunc) + + errorDetectionRouter := flog.NewFilteringRouter(NewCustomerPanicRecordingRouter(), filterOnlyErrorsFunc) + + router := NewFanoutRouter(verboseRouter, panicDetectionRouter, errorDetectionRouter) + + flogger = flog.New(router) + } + + */ package flog