pkg vlog, func Configure(...LoggingOpts) error
pkg vlog, func ConfigureLibraryLoggerFromFlags() error
pkg vlog, func ConfigureLoggerFromFlags(Logger) error
pkg vlog, func Error(...interface{})
pkg vlog, func Errorf(string, ...interface{})
pkg vlog, func Fatal(...interface{})
pkg vlog, func Fatalf(string, ...interface{})
pkg vlog, func FlushLog()
pkg vlog, func Info(...interface{})
pkg vlog, func InfoStack(bool)
pkg vlog, func Infof(string, ...interface{})
pkg vlog, func LogCall(...interface{}) func(...interface{})
pkg vlog, func LogCallf(string, ...interface{}) func(string, ...interface{})
pkg vlog, func NewLogger(string) Logger
pkg vlog, func Panic(...interface{})
pkg vlog, func Panicf(string, ...interface{})
pkg vlog, func Stats() LevelStats
pkg vlog, func V(Level) bool
pkg vlog, func VI(Level) InfoLog
pkg vlog, method (*Level) Get(string) interface{}
pkg vlog, method (*Level) Set(string) error
pkg vlog, method (*Level) String() string
pkg vlog, method (*StderrThreshold) Get(string) interface{}
pkg vlog, method (*StderrThreshold) Set(string) error
pkg vlog, method (*StderrThreshold) String() string
pkg vlog, method (AlsoLogToStderr) LoggingOpt()
pkg vlog, method (AutoFlush) LoggingOpt()
pkg vlog, method (Level) LoggingOpt()
pkg vlog, method (LogDir) LoggingOpt()
pkg vlog, method (LogToStderr) LoggingOpt()
pkg vlog, method (MaxStackBufSize) LoggingOpt()
pkg vlog, method (ModuleSpec) LoggingOpt()
pkg vlog, method (OverridePriorConfiguration) LoggingOpt()
pkg vlog, method (StderrThreshold) LoggingOpt()
pkg vlog, method (TraceLocation) LoggingOpt()
pkg vlog, type AlsoLogToStderr bool
pkg vlog, type AutoFlush bool
pkg vlog, type InfoLog interface { Info, InfoStack, Infof }
pkg vlog, type InfoLog interface, Info(...interface{})
pkg vlog, type InfoLog interface, InfoStack(bool)
pkg vlog, type InfoLog interface, Infof(string, ...interface{})
pkg vlog, type Level llog.Level
pkg vlog, type LevelStats llog.Stats
pkg vlog, type LogDir string
pkg vlog, type LogToStderr bool
pkg vlog, type Logger interface { Configure, Error, Errorf, Fatal, Fatalf, FlushLog, Info, InfoStack, Infof, LogDir, Panic, Panicf, Stats, V, VI }
pkg vlog, type Logger interface, Configure(...LoggingOpts) error
pkg vlog, type Logger interface, Error(...interface{})
pkg vlog, type Logger interface, Errorf(string, ...interface{})
pkg vlog, type Logger interface, Fatal(...interface{})
pkg vlog, type Logger interface, Fatalf(string, ...interface{})
pkg vlog, type Logger interface, FlushLog()
pkg vlog, type Logger interface, Info(...interface{})
pkg vlog, type Logger interface, InfoStack(bool)
pkg vlog, type Logger interface, Infof(string, ...interface{})
pkg vlog, type Logger interface, LogDir() string
pkg vlog, type Logger interface, Panic(...interface{})
pkg vlog, type Logger interface, Panicf(string, ...interface{})
pkg vlog, type Logger interface, Stats() LevelStats
pkg vlog, type Logger interface, V(Level) bool
pkg vlog, type Logger interface, VI(Level) InfoLog
pkg vlog, type LoggingOpts interface { LoggingOpt }
pkg vlog, type LoggingOpts interface, LoggingOpt()
pkg vlog, type MaxStackBufSize int
pkg vlog, type ModuleSpec struct
pkg vlog, type ModuleSpec struct, embedded llog.ModuleSpec
pkg vlog, type OverridePriorConfiguration bool
pkg vlog, type Runtime interface { Logger, NewLogger }
pkg vlog, type Runtime interface, Logger() Logger
pkg vlog, type Runtime interface, NewLogger(string, ...LoggingOpts) (Logger, error)
pkg vlog, type StderrThreshold llog.Severity
pkg vlog, type TraceLocation struct
pkg vlog, type TraceLocation struct, embedded llog.TraceLocation
pkg vlog, type Verbosity interface { V, VI }
pkg vlog, type Verbosity interface, V(Level) bool
pkg vlog, type Verbosity interface, VI(Level) InfoLog
pkg vlog, var Configured error
pkg vlog, var Log *logger
