From bd105b69a8c5cef65d1fc1ca4255c94a0758186b Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sun, 16 Nov 2014 15:30:08 +0100 Subject: [PATCH] Add debug() function to khepri cmd and lib --- cmd/khepri/debug.go | 2 +- debug.go | 38 ++++++++++++++++++++++++++++++++++++++ debug_release.go | 5 +++++ 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 debug.go create mode 100644 debug_release.go diff --git a/cmd/khepri/debug.go b/cmd/khepri/debug.go index 687f0f162..bc60b8dad 100644 --- a/cmd/khepri/debug.go +++ b/cmd/khepri/debug.go @@ -26,7 +26,7 @@ func initDebugLogger() *log.Logger { // open logger l := log.New(io.MultiWriter(os.Stderr, f), "DEBUG: ", log.LstdFlags) - fmt.Fprintf(os.Stderr, "logging activated, writing log file %s", filename) + fmt.Fprintf(os.Stderr, "logging activated, writing log file %s\n", filename) l.Printf("khepri %s", version) return l diff --git a/debug.go b/debug.go new file mode 100644 index 000000000..cd4141dc3 --- /dev/null +++ b/debug.go @@ -0,0 +1,38 @@ +// +build debug + +package khepri + +import ( + "fmt" + "io" + "log" + "os" + "path/filepath" + "time" +) + +var version = "compiled manually" +var debugLogger = initDebugLogger() + +func initDebugLogger() *log.Logger { + // create new log file + filename := fmt.Sprintf("khepri-debug-%d-%s", + os.Getpid(), time.Now().Format("20060201-150405")) + f, err := os.OpenFile(filepath.Join(os.TempDir(), filename), + os.O_WRONLY|os.O_CREATE, 0600) + if err != nil { + fmt.Fprintf(os.Stderr, "unable to create debug log file: %v", err) + os.Exit(2) + } + + // open logger + l := log.New(io.MultiWriter(os.Stderr, f), "DEBUG: ", log.LstdFlags) + fmt.Fprintf(os.Stderr, "logging activated, writing log file %s\n", filename) + l.Printf("khepri %s", version) + + return l +} + +func debug(fmt string, args ...interface{}) { + debugLogger.Printf(fmt, args...) +} diff --git a/debug_release.go b/debug_release.go new file mode 100644 index 000000000..21f2b24a5 --- /dev/null +++ b/debug_release.go @@ -0,0 +1,5 @@ +// +build !debug + +package khepri + +func debug(fmt string, args ...interface{}) {}