From b6314c39082f2e34a672034d899493b786ca7dbd Mon Sep 17 00:00:00 2001 From: aerth Date: Tue, 23 Jul 2019 13:48:42 -0400 Subject: [PATCH] logging: disable by default (resolves #23) --- main.go | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/main.go b/main.go index d23d506..87b9c63 100644 --- a/main.go +++ b/main.go @@ -34,29 +34,39 @@ package main import "C" import ( - "io" - "unsafe" + "io/ioutil" "log" "os" + "path/filepath" + "unsafe" ) -var logfile io.Closer var backend Backend +var debug = os.Getenv("DEBUG") != "" + func init() { - f, err := os.OpenFile(os.Getenv("HOME")+"/testlogfile", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0600) - if err != nil { - log.Fatalf("error opening file: %v", err) + log.SetOutput(ioutil.Discard) + if debug { + f, err := os.OpenFile(filepath.Join(os.Getenv("HOME"), "ncp11.log"), os.O_RDWR|os.O_CREATE|os.O_APPEND, 0600) + if err != nil { + log.Printf("error opening file: %v", err) + return + } + log.SetOutput(f) + log.Println("Namecoin PKCS#11 module loading") } - log.SetOutput(f) - logfile = f - log.Println("Namecoin PKCS#11 module loading") +} +func init() { backend = BackendNamecoin{} } //export GoLog func GoLog(s unsafe.Pointer) { + if !debug { + return + } log.Println(C.GoString((*C.char)(s))) } @@ -77,8 +87,8 @@ func Go_GetInfo(p C.CK_INFO_PTR) C.CK_RV { // TODO: Packing on Windows may break in this function. Should we be // using C.ckInfo here? - if (p == nil) { - return C.CKR_ARGUMENTS_BAD; + if p == nil { + return C.CKR_ARGUMENTS_BAD } info, err := backend.GetInfo()