github.com/keltia/go-ipfs@v0.3.8-0.20150909044612-210793031c63/cmd/seccat/util.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "io" 6 "os" 7 8 eventlog "github.com/ipfs/go-ipfs/thirdparty/eventlog" 9 ) 10 11 var log = eventlog.Logger("seccat") 12 13 func exit(format string, vals ...interface{}) { 14 if format != "" { 15 fmt.Fprintf(os.Stderr, "seccat: error: "+format+"\n", vals...) 16 } 17 Usage() 18 os.Exit(1) 19 } 20 21 func out(format string, vals ...interface{}) { 22 if verbose { 23 fmt.Fprintf(os.Stderr, "seccat: "+format+"\n", vals...) 24 } 25 } 26 27 type logRW struct { 28 n string 29 rw io.ReadWriter 30 } 31 32 func (r *logRW) Read(buf []byte) (int, error) { 33 n, err := r.rw.Read(buf) 34 if err == nil { 35 log.Debugf("%s read: %v", r.n, buf) 36 } 37 return n, err 38 } 39 40 func (r *logRW) Write(buf []byte) (int, error) { 41 log.Debugf("%s write: %v", r.n, buf) 42 return r.rw.Write(buf) 43 } 44 45 func (r *logRW) Close() error { 46 c, ok := r.rw.(io.Closer) 47 if ok { 48 return c.Close() 49 } 50 return nil 51 }