github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/service/log_ui.go (about) 1 // Copyright 2015 Keybase, Inc. All rights reserved. Use of 2 // this source code is governed by the included BSD license. 3 4 package service 5 6 import ( 7 "fmt" 8 9 "golang.org/x/net/context" 10 11 keybase1 "github.com/keybase/client/go/protocol/keybase1" 12 "github.com/keybase/go-framed-msgpack-rpc/rpc" 13 ) 14 15 type LogUI struct { 16 sessionID int 17 cli *keybase1.LogUiClient 18 } 19 20 func NewLogUI(sessionID int, c *rpc.Client) *LogUI { 21 return &LogUI{ 22 sessionID: sessionID, 23 cli: &keybase1.LogUiClient{Cli: c}, 24 } 25 } 26 27 func (l *LogUI) Log(level keybase1.LogLevel, format string, args []interface{}) { 28 msg := fmt.Sprintf(format, args...) 29 _ = l.cli.Log(context.TODO(), keybase1.LogArg{ 30 SessionID: l.sessionID, 31 Level: level, 32 Text: keybase1.Text{ 33 Markup: false, 34 Data: msg, 35 }, 36 }) 37 } 38 39 func (l *LogUI) Debug(format string, args ...interface{}) { 40 l.Log(keybase1.LogLevel_DEBUG, format, args) 41 } 42 func (l *LogUI) Info(format string, args ...interface{}) { 43 l.Log(keybase1.LogLevel_INFO, format, args) 44 } 45 func (l *LogUI) Critical(format string, args ...interface{}) { 46 l.Log(keybase1.LogLevel_CRITICAL, format, args) 47 } 48 func (l *LogUI) Warning(format string, args ...interface{}) { 49 l.Log(keybase1.LogLevel_WARN, format, args) 50 } 51 func (l *LogUI) Errorf(format string, args ...interface{}) { 52 l.Log(keybase1.LogLevel_ERROR, format, args) 53 } 54 func (l *LogUI) Notice(format string, args ...interface{}) { 55 l.Log(keybase1.LogLevel_NOTICE, format, args) 56 }