Documentation ¶
Overview ¶
Example (Logall) ¶
package main import ( "berty.tech/berty/v2/go/internal/logutil" ) func main() { logger, cleanup, err := logutil.NewLogger(logutil.NewStdStream("*", "light-console", "stdout")) if err != nil { panic(err) } defer cleanup() logger.Debug("top debug") logger.Info("top info") logger.Warn("top warn") logger.Error("top error") logger.Named("foo").Debug("foo debug") logger.Named("foo").Info("foo info") logger.Named("foo").Warn("foo warn") logger.Named("foo").Error("foo error") }
Output: DEBUG bty logutil/example_test.go:14 top debug INFO bty logutil/example_test.go:15 top info WARN bty logutil/example_test.go:16 top warn ERROR bty logutil/example_test.go:17 top error DEBUG bty.foo logutil/example_test.go:19 foo debug INFO bty.foo logutil/example_test.go:20 foo info WARN bty.foo logutil/example_test.go:21 foo warn ERROR bty.foo logutil/example_test.go:22 foo error
Example (Logerrors) ¶
package main import ( "berty.tech/berty/v2/go/internal/logutil" ) func main() { logger, cleanup, err := logutil.NewLogger(logutil.NewStdStream("error:*,-*.bar warn:*.bar", "light-console", "stdout")) if err != nil { panic(err) } defer cleanup() logger.Debug("top debug") logger.Info("top info") logger.Warn("top warn") logger.Error("top error") logger.Named("foo").Debug("foo debug") logger.Named("foo").Info("foo info") logger.Named("foo").Warn("foo warn") logger.Named("foo").Error("foo error") logger.Named("foo").Named("bar").Debug("foo.bar debug") logger.Named("foo").Named("bar").Info("foo.bar info") logger.Named("foo").Named("bar").Warn("foo.bar warn") logger.Named("foo").Named("bar").Error("foo.bar error") }
Output: ERROR bty logutil/example_test.go:45 top error ERROR bty.foo logutil/example_test.go:50 foo error WARN bty.foo.bar logutil/example_test.go:54 foo.bar warn
Index ¶
- Constants
- func DisablePrivateFields()
- func LogfileGC(logDir string, max int) error
- func NewLogger(streams ...Stream) (*zap.Logger, func(), error)
- func PrivateAny(key string, value interface{}) zap.Field
- func PrivateBinary(key string, value []byte) zap.Field
- func PrivateString(key string, value string) zap.Field
- func PrivateStrings(key string, value []string) zap.Field
- func ReplaceGRPCLogger(l *zap.Logger)
- func SetGlobal(namespace []byte, enabled bool)
- type Logfile
- type PrivateField
- type Stream
Examples ¶
Constants ¶
View Source
const ( Black uint8 = iota + 30 Red Green Yellow Blue Magenta Cyan White )
Variables ¶
This section is empty.
Functions ¶
func DisablePrivateFields ¶ added in v2.367.0
func DisablePrivateFields()
func PrivateAny ¶ added in v2.326.0
func ReplaceGRPCLogger ¶ added in v2.350.0
Types ¶
type Logfile ¶ added in v2.286.0
type Logfile struct { Dir string Name string Size int64 Kind string Time time.Time Latest bool Errs error `json:"Errs,omitempty"` }
func LogfileList ¶ added in v2.286.0
type PrivateField ¶ added in v2.326.0
func (*PrivateField) PrivateAny ¶ added in v2.326.0
func (p *PrivateField) PrivateAny(key string, value interface{}) zap.Field
func (*PrivateField) PrivateBinary ¶ added in v2.326.0
func (p *PrivateField) PrivateBinary(key string, value []byte) zap.Field
func (*PrivateField) PrivateString ¶ added in v2.326.0
func (p *PrivateField) PrivateString(key string, value string) zap.Field
func (*PrivateField) PrivateStrings ¶ added in v2.326.0
func (p *PrivateField) PrivateStrings(key string, values []string) zap.Field
type Stream ¶ added in v2.264.0
type Stream struct {
// contains filtered or unexported fields
}
func NewCustomStream ¶ added in v2.287.0
func NewFileStream ¶ added in v2.286.0
NewFileStream creates a new file stream backed by Lumberjack with sane default values.
Usually, Lumberjack is used as a rolling log file and is intended to be reused from a session to another, In Berty, we want one file per session named with the start time instead of the rotation time.
If the provided path is a directory, it will create files in that directory with the following pattern: `<path>/<session-kind>-<start-time>.log`.
If the provided path is a path finishing with ".log", then, the path will be taken as it, instead of creating a new file, it will append new lines to the existing one; this can be particularly useful to keep a `tail -f` running.
func NewRingStream ¶ added in v2.264.0
func NewStdStream ¶ added in v2.264.0
Click to show internal directories.
Click to hide internal directories.