github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/updater/service/logger.go (about) 1 // Copyright 2016 Keybase, Inc. All rights reserved. Use of 2 // this source code is governed by the included BSD license. 3 4 package main 5 6 import ( 7 "fmt" 8 "log" 9 "os" 10 "path/filepath" 11 12 "github.com/keybase/client/go/updater/keybase" 13 ) 14 15 type logger struct{} 16 17 // Debug is log implementation 18 func (l logger) Debug(s ...interface{}) { 19 log.Printf("DEBG %s\n", s) 20 } 21 22 // Info is log implementation 23 func (l logger) Info(s ...interface{}) { 24 log.Printf("INFO %s\n", s) 25 } 26 27 // Debugf is log implementation 28 func (l logger) Debugf(s string, args ...interface{}) { 29 log.Printf("DEBG %s\n", fmt.Sprintf(s, args...)) 30 } 31 32 // Infof is log implementation 33 func (l logger) Infof(s string, args ...interface{}) { 34 log.Printf("INFO %s\n", fmt.Sprintf(s, args...)) 35 } 36 37 // Warning is log implementation 38 func (l logger) Warning(s ...interface{}) { 39 log.Printf("WARN %s\n", s) 40 } 41 42 // Warningf is log implementation 43 func (l logger) Warningf(s string, args ...interface{}) { 44 log.Printf("WARN %s\n", fmt.Sprintf(s, args...)) 45 } 46 47 // Error is log implementation 48 func (l logger) Error(s ...interface{}) { 49 log.Printf("ERR %s\n", s) 50 } 51 52 // Errorf is log implementation 53 func (l logger) Errorf(s string, args ...interface{}) { 54 log.Printf("ERR %s\n", fmt.Sprintf(s, args...)) 55 } 56 57 func (l logger) setLogToFile(appName string, fileName string) (*os.File, string, error) { 58 dir, err := keybase.LogDir(appName) 59 if err != nil { 60 return nil, "", err 61 } 62 logPath := filepath.Join(dir, fileName) 63 logFile, err := os.OpenFile(logPath, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0600) 64 if err != nil { 65 return nil, "", err 66 } 67 log.Printf("Logging to %s", logPath) 68 log.SetOutput(logFile) 69 return logFile, logPath, nil 70 }