Documentation ¶
Index ¶
- func FileExists(path string) (bool, error)
- func MakeParentDirs(filename string) error
- func NewContextWithLogTags(ctx context.Context, logTagsToAdd CtxLogTags) context.Context
- func OpenLogFile(filename string) (name string, file *os.File, err error)
- func PickFirstError(errors ...error) error
- type CtxLogTags
- type CtxStandardLoggerKey
- type ExternalLogger
- type Logger
- type Null
- func (l *Null) AddExternalLogger(ExternalLogger) uint64
- func (l *Null) CCriticalf(ctx context.Context, fmt string, arg ...interface{})
- func (l *Null) CDebugf(ctx context.Context, fmt string, arg ...interface{})
- func (l *Null) CErrorf(ctx context.Context, fmt string, arg ...interface{})
- func (l *Null) CFatalf(ctx context.Context, fmt string, arg ...interface{})
- func (l *Null) CInfof(ctx context.Context, fmt string, arg ...interface{})
- func (l *Null) CNoticef(ctx context.Context, fmt string, arg ...interface{})
- func (l *Null) CWarningf(ctx context.Context, fmt string, arg ...interface{})
- func (l *Null) Configure(style string, debug bool, filename string)
- func (l *Null) Critical(format string, args ...interface{})
- func (l *Null) Debug(format string, args ...interface{})
- func (l *Null) Error(fmt string, arg ...interface{})
- func (l *Null) Errorf(format string, args ...interface{})
- func (l *Null) Fatalf(fmt string, arg ...interface{})
- func (l *Null) Info(format string, args ...interface{})
- func (l *Null) Notice(format string, args ...interface{})
- func (l *Null) Profile(fmts string, arg ...interface{})
- func (l *Null) RemoveExternalLogger(uint64)
- func (l *Null) RotateLogFile() error
- func (l *Null) SetExternalLogLevel(level keybase1.LogLevel)
- func (l *Null) Warning(format string, args ...interface{})
- type Standard
- func (log *Standard) AddExternalLogger(externalLogger ExternalLogger) uint64
- func (log *Standard) CCriticalf(ctx context.Context, fmt string, arg ...interface{})
- func (log *Standard) CDebugf(ctx context.Context, fmt string, arg ...interface{})
- func (log *Standard) CErrorf(ctx context.Context, fmt string, arg ...interface{})
- func (log *Standard) CFatalf(ctx context.Context, fmt string, arg ...interface{})
- func (log *Standard) CInfof(ctx context.Context, fmt string, arg ...interface{})
- func (log *Standard) CNoticef(ctx context.Context, fmt string, arg ...interface{})
- func (log *Standard) CWarningf(ctx context.Context, fmt string, arg ...interface{})
- func (log *Standard) Configure(style string, debug bool, filename string)
- func (log *Standard) Critical(fmt string, arg ...interface{})
- func (log *Standard) Debug(fmt string, arg ...interface{})
- func (log *Standard) Error(fmt string, arg ...interface{})
- func (log *Standard) Errorf(fmt string, arg ...interface{})
- func (log *Standard) Fatalf(fmt string, arg ...interface{})
- func (log *Standard) Info(fmt string, arg ...interface{})
- func (log *Standard) Notice(fmt string, arg ...interface{})
- func (log *Standard) Profile(fmts string, arg ...interface{})
- func (log *Standard) RemoveExternalLogger(handle uint64)
- func (log *Standard) RotateLogFile() error
- func (log *Standard) SetExternalLogLevel(level keybase1.LogLevel)
- func (log *Standard) Warning(fmt string, arg ...interface{})
- type TestLogBackend
- type TestLogger
- func (log *TestLogger) AddExternalLogger(externalLogger ExternalLogger) uint64
- func (log *TestLogger) CCriticalf(ctx context.Context, fmts string, arg ...interface{})
- func (log *TestLogger) CDebugf(ctx context.Context, fmts string, arg ...interface{})
- func (log *TestLogger) CErrorf(ctx context.Context, fmts string, arg ...interface{})
- func (log *TestLogger) CFatalf(ctx context.Context, fmts string, arg ...interface{})
- func (log *TestLogger) CInfof(ctx context.Context, fmts string, arg ...interface{})
- func (log *TestLogger) CNoticef(ctx context.Context, fmts string, arg ...interface{})
- func (log *TestLogger) CWarningf(ctx context.Context, fmts string, arg ...interface{})
- func (log *TestLogger) Configure(style string, debug bool, filename string)
- func (log *TestLogger) Critical(fmts string, arg ...interface{})
- func (log *TestLogger) Debug(fmts string, arg ...interface{})
- func (log *TestLogger) Error(fmts string, arg ...interface{})
- func (log *TestLogger) Errorf(fmts string, arg ...interface{})
- func (log *TestLogger) Fatalf(fmts string, arg ...interface{})
- func (log *TestLogger) Info(fmts string, arg ...interface{})
- func (log *TestLogger) Notice(fmts string, arg ...interface{})
- func (log *TestLogger) Profile(fmts string, arg ...interface{})
- func (log *TestLogger) RemoveExternalLogger(handle uint64)
- func (log *TestLogger) RotateLogFile() error
- func (log *TestLogger) SetExternalLogLevel(level keybase1.LogLevel)
- func (log *TestLogger) Warning(fmts string, arg ...interface{})
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FileExists ¶
func MakeParentDirs ¶
func NewContextWithLogTags ¶
func NewContextWithLogTags( ctx context.Context, logTagsToAdd CtxLogTags) context.Context
NewContext returns a new Context that carries adds the given log tag mappings (context key -> display string).
func PickFirstError ¶
Types ¶
type CtxLogTags ¶
type CtxLogTags map[interface{}]string
func LogTagsFromContext ¶
func LogTagsFromContext(ctx context.Context) (CtxLogTags, bool)
LogTagsFromContext returns the log tags being passed along with the given context.
type CtxStandardLoggerKey ¶
type CtxStandardLoggerKey int
CtxStandardLoggerKey is a type defining context keys used by the Standard logger.
const ( // CtxLogTags defines a context key that can hold a slice of context // keys, the value of which should be logged by a Standard logger if // one of those keys is seen in a context during a log call. CtxLogTagsKey CtxStandardLoggerKey = iota )
type ExternalLogger ¶
type Logger ¶
type Logger interface { // Debug logs a message at debug level, with formatting args. Debug(format string, args ...interface{}) // CDebugf logs a message at debug level, with a context and // formatting args. CDebugf(ctx context.Context, format string, args ...interface{}) // Info logs a message at info level, with formatting args. Info(format string, args ...interface{}) // CInfo logs a message at info level, with a context and formatting args. CInfof(ctx context.Context, format string, args ...interface{}) // Notice logs a message at notice level, with formatting args. Notice(format string, args ...interface{}) // CNoticef logs a message at notice level, with a context and // formatting args. CNoticef(ctx context.Context, format string, args ...interface{}) // Warning logs a message at warning level, with formatting args. Warning(format string, args ...interface{}) // CWarning logs a message at warning level, with a context and // formatting args. CWarningf(ctx context.Context, format string, args ...interface{}) // Error logs a message at error level, with formatting args Error(format string, args ...interface{}) // Errorf logs a message at error level, with formatting args. Errorf(format string, args ...interface{}) // CErrorf logs a message at error level, with a context and // formatting args. CErrorf(ctx context.Context, format string, args ...interface{}) // Critical logs a message at critical level, with formatting args. Critical(format string, args ...interface{}) // CCriticalf logs a message at critical level, with a context and // formatting args. CCriticalf(ctx context.Context, format string, args ...interface{}) // Fatalf logs a message at fatal level, with formatting args. Fatalf(format string, args ...interface{}) // Fatalf logs a message at fatal level, with a context and formatting args. CFatalf(ctx context.Context, format string, args ...interface{}) // Profile logs a profile message, with formatting args. Profile(fmts string, arg ...interface{}) // Configure sets the style, debug level, and filename of the // logger. Output isn't redirected to the file until // RotateLogFile is called for the first time. Configure(style string, debug bool, filename string) // RotateLogFile rotates the log file, if the underlying logger is // writing to a file. RotateLogFile() error // External loggers are a hack to allow the calls to G.Log.* in the daemon // to be forwarded to the client. Loggers are registered here with // AddExternalLogger when connections are started, and every log that's // done gets replayed for each external logger registered at the time. That // will cause some duplication when multiple clients are connected, but // it's a hack. Ideally in the future every function that needs to log will // have a context. // // Because external loggers are intended to be talking over the RPC // connection, we don't want to push all the voluminous debug logs unless // the client actually wants them. Thus we keep a log level here, and we // drop any logs that are below that level. Clients will set this over RPC // when they connect. AddExternalLogger(externalLogger ExternalLogger) uint64 RemoveExternalLogger(handle uint64) SetExternalLogLevel(level keybase1.LogLevel) }
type Null ¶
type Null struct{}
func (*Null) AddExternalLogger ¶
func (l *Null) AddExternalLogger(ExternalLogger) uint64
func (*Null) CCriticalf ¶
func (*Null) RemoveExternalLogger ¶
func (*Null) RotateLogFile ¶
func (*Null) SetExternalLogLevel ¶
type Standard ¶
type Standard struct {
// contains filtered or unexported fields
}
func NewWithCallDepth ¶
NewWithCallDepth creates a new Standard logger for module, and when printing file names and line numbers, it goes extraCallDepth up the stack from where logger was invoked.
func (*Standard) AddExternalLogger ¶
func (log *Standard) AddExternalLogger(externalLogger ExternalLogger) uint64
func (*Standard) CCriticalf ¶
func (*Standard) RemoveExternalLogger ¶
func (*Standard) RotateLogFile ¶
func (*Standard) SetExternalLogLevel ¶
type TestLogBackend ¶
type TestLogBackend interface { Error(args ...interface{}) Errorf(format string, args ...interface{}) Fatal(args ...interface{}) Fatalf(format string, args ...interface{}) Log(args ...interface{}) Logf(format string, args ...interface{}) }
TestLogBackend is an interface for logging to a test object (i.e., a *testing.T). We define this in order to avoid pulling in the "testing" package in exported code.
type TestLogger ¶
type TestLogger struct {
// contains filtered or unexported fields
}
TestLogger is a Logger that writes to a TestLogBackend. All messages except Fatal are printed using Logf, to avoid failing a test that is trying to test an error condition. No context tags are logged.
func NewTestLogger ¶
func NewTestLogger(log TestLogBackend) *TestLogger
func (*TestLogger) AddExternalLogger ¶
func (log *TestLogger) AddExternalLogger(externalLogger ExternalLogger) uint64
no-op stubs to fulfill the Logger interface
func (*TestLogger) CCriticalf ¶
func (log *TestLogger) CCriticalf(ctx context.Context, fmts string, arg ...interface{})
func (*TestLogger) CDebugf ¶
func (log *TestLogger) CDebugf(ctx context.Context, fmts string, arg ...interface{})
func (*TestLogger) CErrorf ¶
func (log *TestLogger) CErrorf(ctx context.Context, fmts string, arg ...interface{})
func (*TestLogger) CFatalf ¶
func (log *TestLogger) CFatalf(ctx context.Context, fmts string, arg ...interface{})
func (*TestLogger) CInfof ¶
func (log *TestLogger) CInfof(ctx context.Context, fmts string, arg ...interface{})
func (*TestLogger) CNoticef ¶
func (log *TestLogger) CNoticef(ctx context.Context, fmts string, arg ...interface{})
func (*TestLogger) CWarningf ¶
func (log *TestLogger) CWarningf(ctx context.Context, fmts string, arg ...interface{})
func (*TestLogger) Configure ¶
func (log *TestLogger) Configure(style string, debug bool, filename string)
func (*TestLogger) Critical ¶
func (log *TestLogger) Critical(fmts string, arg ...interface{})
func (*TestLogger) Debug ¶
func (log *TestLogger) Debug(fmts string, arg ...interface{})
func (*TestLogger) Error ¶
func (log *TestLogger) Error(fmts string, arg ...interface{})
func (*TestLogger) Errorf ¶
func (log *TestLogger) Errorf(fmts string, arg ...interface{})
func (*TestLogger) Fatalf ¶
func (log *TestLogger) Fatalf(fmts string, arg ...interface{})
func (*TestLogger) Info ¶
func (log *TestLogger) Info(fmts string, arg ...interface{})
func (*TestLogger) Notice ¶
func (log *TestLogger) Notice(fmts string, arg ...interface{})
func (*TestLogger) Profile ¶
func (log *TestLogger) Profile(fmts string, arg ...interface{})
func (*TestLogger) RemoveExternalLogger ¶
func (log *TestLogger) RemoveExternalLogger(handle uint64)
func (*TestLogger) RotateLogFile ¶
func (log *TestLogger) RotateLogFile() error
func (*TestLogger) SetExternalLogLevel ¶
func (log *TestLogger) SetExternalLogLevel(level keybase1.LogLevel)
func (*TestLogger) Warning ¶
func (log *TestLogger) Warning(fmts string, arg ...interface{})