modulepackage
2.0.0+incompatible
Repository: https://github.com/cloudfoundry/lager.git
Documentation: pkg.go.dev
# README
lager
Note: This repository should be imported as code.cloudfoundry.org/lager
.
Lager is a logging library for go.
Usage
Instantiate a logger with the name of your component.
import (
"code.cloudfoundry.org/lager"
)
logger := lager.NewLogger("my-app")
Sinks
Lager can write logs to a variety of destinations. You can specify the destinations using Lager sinks:
To write to an arbitrary Writer
object:
logger.RegisterSink(lager.NewWriterSink(myWriter, lager.INFO))
Emitting logs
Lager supports the usual level-based logging, with an optional argument for arbitrary key-value data.
logger.Info("doing-stuff", lager.Data{
"informative": true,
})
output:
{ "source": "my-app", "message": "doing-stuff", "data": { "informative": true }, "timestamp": 1232345, "log_level": 1 }
Error messages also take an Error
object:
logger.Error("failed-to-do-stuff", errors.New("Something went wrong"))
output:
{ "source": "my-app", "message": "failed-to-do-stuff", "data": { "error": "Something went wrong" }, "timestamp": 1232345, "log_level": 1 }
Sessions
You can avoid repetition of contextual data using 'Sessions':
contextualLogger := logger.Session("my-task", lager.Data{
"request-id": 5,
})
contextualLogger.Info("my-action")
output:
{ "source": "my-app", "message": "my-task.my-action", "data": { "request-id": 5 }, "timestamp": 1232345, "log_level": 1 }
License
Lager is Apache 2.0 licensed.
# Packages
No description provided by the author
No description provided by the author
Package lagerctx provides convenience when using Lager with the context feature of the standard library.
No description provided by the author
No description provided by the author
# Functions
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewRedactingSink creates a sink that redacts sensitive information from the data field.
No description provided by the author
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
No description provided by the author
No description provided by the author
No description provided by the author