Documentation ¶
Overview ¶
Package flog is a hacked and slashed version of glog that only logs in stderr and can be configured with env vars.
Copyright 2019-present Facebook Inc. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Package flog is a hacked and slashed version of glog that only logs in stderr and can be configured with env vars.
Copyright 2019-present Facebook Inc. All Rights Reserved. Copyright 2013 Google Inc. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
-log_backtrace_at="" When set to a file and line number holding a logging statement, such as -log_backtrace_at=gopherflakes.go:234 a stack trace will be written to the Info log whenever execution hits that statement. (Unlike with -vmodule, the ".go" must be present.) -v=0 Enable V-leveled logging at the specified level. -vmodule="" The syntax of the argument is a comma-separated list of pattern=N, where pattern is a literal file name (minus the ".go" suffix) or "glob" pattern and N is a V level. For instance, -vmodule=gopher*=3 sets the V level to 3 in all Go files whose names begin "gopher".
Index ¶
- Variables
- func AddFlags(fs *flag.FlagSet, defaults *Config) error
- func CopyStandardLogTo(name string)
- func Critical(args ...interface{})
- func CriticalDepth(depth int, args ...interface{})
- func Criticalf(format string, args ...interface{})
- func Criticalln(args ...interface{})
- func Debug(args ...interface{})
- func DebugDepth(depth int, args ...interface{})
- func Debugf(format string, args ...interface{})
- func Debugln(args ...interface{})
- func Error(args ...interface{})
- func ErrorDepth(depth int, args ...interface{})
- func Errorf(format string, args ...interface{})
- func Errorln(args ...interface{})
- func Exit(args ...interface{})
- func ExitDepth(depth int, args ...interface{})
- func Exitf(format string, args ...interface{})
- func Exitln(args ...interface{})
- func Fatal(args ...interface{})
- func FatalDepth(depth int, args ...interface{})
- func Fatalf(format string, args ...interface{})
- func Fatalln(args ...interface{})
- func Flags() *flag.FlagSet
- func FlagsWithDefaults(defaults *Config) (*flag.FlagSet, error)
- func Info(args ...interface{})
- func InfoDepth(depth int, args ...interface{})
- func Infof(format string, args ...interface{})
- func Infoln(args ...interface{})
- func SetOutput(w io.Writer)
- func Warning(args ...interface{})
- func WarningDepth(depth int, args ...interface{})
- func Warningf(format string, args ...interface{})
- func Warningln(args ...interface{})
- type Config
- type Level
- type OutputStats
- type Verbose
Constants ¶
This section is empty.
Variables ¶
var Stats struct { Debug, Info, Warning, Error, Critical OutputStats }
Stats tracks the number of lines of output and number of bytes per severity level. Values must be read with atomic.LoadInt64.
Functions ¶
func AddFlags ¶
AddFlags allows the caller to add the flags for configuring this module to the specified FlagSet which can then be used to arbitrary flag libs. For the Go flag lib use flag.CommandLine. If defaults is not nil this function will first call its Set() method.
func CopyStandardLogTo ¶
func CopyStandardLogTo(name string)
CopyStandardLogTo arranges for messages written to the Go "log" package's default logs to also appear in the Google logs for the named and lower severities. Subsequent changes to the standard log's default output location or format may break this behavior.
Valid names are "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL", and "FATAL". If the name is not recognized, CopyStandardLogTo panics.
func Critical ¶
func Critical(args ...interface{})
Critical logs to the CRITICAL, ERROR, WARNING, INFO and DEBUG logs. Arguments are handled in the manner of fmt.Print; a newline is appended if missing.
func CriticalDepth ¶
func CriticalDepth(depth int, args ...interface{})
CriticalDepth acts as Critical but uses depth to determine which call frame to log. CriticalDepth(0, "msg") is the same as Critical("msg").
func Criticalf ¶
func Criticalf(format string, args ...interface{})
Criticalf logs to the CRITICAL, ERROR, WARNING, INFO and DEBUG logs. Arguments are handled in the manner of fmt.Printf; a newline is appended if missing.
func Criticalln ¶
func Criticalln(args ...interface{})
Criticalln logs to the CRITICAL, ERROR, WARNING, INFO and DEBUG logs. Arguments are handled in the manner of fmt.Println; a newline is appended if missing.
func Debug ¶
func Debug(args ...interface{})
Debug logs to the DEBUG log. Arguments are handled in the manner of fmt.Print; a newline is appended if missing.
func DebugDepth ¶
func DebugDepth(depth int, args ...interface{})
DebugDepth acts as Debug but uses depth to determine which call frame to log. DebugDepth(0, "msg") is the same as Debug("msg").
func Debugf ¶
func Debugf(format string, args ...interface{})
Debugf logs to the DEBUG log. Arguments are handled in the manner of fmt.Printf; a newline is appended if missing.
func Debugln ¶
func Debugln(args ...interface{})
Debugln logs to the DEBUG log. Arguments are handled in the manner of fmt.Println; a newline is appended if missing.
func Error ¶
func Error(args ...interface{})
Error logs to the ERROR, WARNING, INFO and DEBUG logs. Arguments are handled in the manner of fmt.Print; a newline is appended if missing.
func ErrorDepth ¶
func ErrorDepth(depth int, args ...interface{})
ErrorDepth acts as Error but uses depth to determine which call frame to log. ErrorDepth(0, "msg") is the same as Error("msg").
func Errorf ¶
func Errorf(format string, args ...interface{})
Errorf logs to the ERROR, WARNING, INFO and DEBUG logs. Arguments are handled in the manner of fmt.Printf; a newline is appended if missing.
func Errorln ¶
func Errorln(args ...interface{})
Errorln logs to the ERROR, WARNING, INFO and DEBUG logs. Arguments are handled in the manner of fmt.Println; a newline is appended if missing.
func Exit ¶
func Exit(args ...interface{})
Exit logs to the FATAL, CRITICAL, ERROR, WARNING, INFO and DEBUG logs, then calls os.Exit(1). Arguments are handled in the manner of fmt.Print; a newline is appended if missing.
func ExitDepth ¶
func ExitDepth(depth int, args ...interface{})
ExitDepth acts as Exit but uses depth to determine which call frame to log. ExitDepth(0, "msg") is the same as Exit("msg").
func Exitf ¶
func Exitf(format string, args ...interface{})
Exitf logs to the FATAL, CRITICAL, ERROR, WARNING, INFO and DEBUG logs, then calls os.Exit(1). Arguments are handled in the manner of fmt.Printf; a newline is appended if missing.
func Exitln ¶
func Exitln(args ...interface{})
Exitln logs to the FATAL, CRITICAL, ERROR, WARNING, INFO and DEBUG logs, then calls os.Exit(1).
func Fatal ¶
func Fatal(args ...interface{})
Fatal logs to the FATAL, CRITICAL, ERROR, WARNING, INFO and DEBUG logs. including a stack trace of all running goroutines, then calls os.Exit(255). Arguments are handled in the manner of fmt.Print; a newline is appended if missing.
func FatalDepth ¶
func FatalDepth(depth int, args ...interface{})
FatalDepth acts as Fatal but uses depth to determine which call frame to log. FatalDepth(0, "msg") is the same as Fatal("msg").
func Fatalf ¶
func Fatalf(format string, args ...interface{})
Fatalf logs to the FATAL, CRITICAL, ERROR, WARNING, INFO and DEBUG logs. including a stack trace of all running goroutines, then calls os.Exit(255). Arguments are handled in the manner of fmt.Printf; a newline is appended if missing.
func Fatalln ¶
func Fatalln(args ...interface{})
Fatalln logs to the FATAL, CRITICAL, ERROR, WARNING, INFO and DEBUG logs. including a stack trace of all running goroutines, then calls os.Exit(255). Arguments are handled in the manner of fmt.Println; a newline is appended if missing.
func Flags ¶
Flags creates a new Go stdlib flag.FlagSet and returns it. This promotes easier interop with other flag libraries that don't easily expose the underlying flag.FlagSet.
func FlagsWithDefaults ¶
FlagsWithDefaults mimics Flags above, but allows for passing in default config values.
func Info ¶
func Info(args ...interface{})
Info logs to the INFO and DEBUG log. Arguments are handled in the manner of fmt.Print; a newline is appended if missing.
func InfoDepth ¶
func InfoDepth(depth int, args ...interface{})
InfoDepth acts as Info but uses depth to determine which call frame to log. InfoDepth(0, "msg") is the same as Info("msg").
func Infof ¶
func Infof(format string, args ...interface{})
Infof logs to the INFO and DEBUG log. Arguments are handled in the manner of fmt.Printf; a newline is appended if missing.
func Infoln ¶
func Infoln(args ...interface{})
Infoln logs to the INFO and DEBUG log. Arguments are handled in the manner of fmt.Println; a newline is appended if missing.
func Warning ¶
func Warning(args ...interface{})
Warning logs to the WARNING, INFO and DEBUG logs. Arguments are handled in the manner of fmt.Print; a newline is appended if missing.
func WarningDepth ¶
func WarningDepth(depth int, args ...interface{})
WarningDepth acts as Warning but uses depth to determine which call frame to log. WarningDepth(0, "msg") is the same as Warning("msg").
Types ¶
type Config ¶
Config struct provides an alternative way to configure this lib. Callers must call the Set() method once defining the values.
type Level ¶
type Level int32
Level specifies a level of verbosity for V logs. *Level implements flag.Value; the -v flag is of type Level and should be modified only through the flag.Value interface.
type OutputStats ¶
type OutputStats struct {
// contains filtered or unexported fields
}
OutputStats tracks the number of output lines and bytes written.
func (*OutputStats) Bytes ¶
func (s *OutputStats) Bytes() int64
Bytes returns the number of bytes written.
func (*OutputStats) Lines ¶
func (s *OutputStats) Lines() int64
Lines returns the number of lines written.
type Verbose ¶
type Verbose bool
Verbose is a boolean type that implements Infof (like Printf) etc. See the documentation of V for more information.
func V ¶
V reports whether verbosity at the call site is at least the requested level. The returned value is a boolean of type Verbose, which implements Info, Infoln and Infof. These methods will write to the Info log if called. Thus, one may write either
if glog.V(2) { glog.Info("log this") }
or
glog.V(2).Info("log this")
The second form is shorter but the first is cheaper if logging is off because it does not evaluate its arguments.
Whether an individual call to V generates a log record depends on the setting of the -v and --vmodule flags; both are off by default. If the level in the call to V is at least the value of -v, or of -vmodule for the source file containing the call, the V call will log.
func (Verbose) Info ¶
func (v Verbose) Info(args ...interface{})
Info is equivalent to the global Info function, guarded by the value of v. See the documentation of V for usage.