From c1c69da685add8223cabf6b3a1174cd387664031 Mon Sep 17 00:00:00 2001 From: Todd Gruben Date: Fri, 24 Jan 2014 10:51:06 -0600 Subject: [PATCH] added file based logging to service; new config file entry log_path --- core/http.go | 5 +++-- core/service.go | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/core/http.go b/core/http.go index dac33b10c..69d67457d 100644 --- a/core/http.go +++ b/core/http.go @@ -112,8 +112,9 @@ func (self *WebService) HandleBatch(w http.ResponseWriter, r *http.Request) { encoder := json.NewEncoder(w) err = encoder.Encode(results) if err != nil { - log.Println("Error encoding results") - err = encoder.Encode("Bad Result") + log.Println("Error Batch results") + log.Println(spew.Sdump(r.Form) + err = encoder.Encode("Bad Batch Request") } } diff --git a/core/service.go b/core/service.go index 9f7c07664..2266a797c 100644 --- a/core/service.go +++ b/core/service.go @@ -1,6 +1,7 @@ package core import ( + "fmt" "log" "os" "os/signal" @@ -46,9 +47,23 @@ func NewService() *Service { service.Index = index.NewFragmentContainer() service.Hold = hold.NewHolder() service.version = "0.0.8" + service.PrepareLogging() return service } +func (self *Service) PrepareLogging() { + base_path := config.GetString("log_path") + if base_path == "" { + base_path = "/tmp" + } + f, err := os.OpenFile(fmt.Sprintf("%s/cruncher.%s", base_path, self.Id), os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) + if err != nil { + log.Error("error opening file: %v", err) + } + //defer f.Close() + log.SetOutput(f) +} + func (service *Service) init_id() { var id uuid.UUID var err error