Documentation
¶
Index ¶
Constants ¶
const ( KeyTrace = "trace" KeySpanID = "spanID" KeyHTTPRequest = "httpRequest" KeyLogID = "logID" )
Known keys
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Context ¶ added in v1.0.2
type Context struct {
Data map[string]interface{} `json:"data,omitempty"`
ReportLocation *ReportLocation `json:"reportLocation,omitempty"`
HTTPRequest *HTTPRequest `json:"httpRequest,omitempty"`
}
Context is sent with every message to stackdriver.
type Entry ¶ added in v1.0.2
type Entry struct {
LogName string `json:"logName,omitempty"`
Timestamp string `json:"timestamp,omitempty"`
HTTPRequest *HTTPRequest `json:"httpRequest,omitempty"`
// TraceID string, Optional. Same as TraceID, but without the project-path.
// Example:
// 06796866738c859f2f19b7cfb3214824
TraceID string `json:"trace_id,omitempty"`
// Trace string
// Optional. Resource name of the trace associated with the log entry, if any.
// If it contains a relative resource name, the name is assumed to be relative to tracing.googleapis.com.
// Example:
// projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824
Trace string `json:"logging.googleapis.com/trace,omitempty"`
// Span string
// Optional. The span ID within the trace associated with the log entry.
// For Trace spans, this is the same format that the Trace API v2 uses: a 16-character hexadecimal encoding of an 8-byte array.
// Example:
// 000000000000004a
SpanID string `json:"logging.googleapis.com/spanId,omitempty"`
ServiceContext *ServiceContext `json:"serviceContext,omitempty"`
Message string `json:"message,omitempty"`
Severity severity `json:"severity,omitempty"`
Context *Context `json:"context,omitempty"`
SourceLocation *ReportLocation `json:"sourceLocation,omitempty"`
}
Entry stores a log entry. More information here: https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry
type Formatter ¶
Formatter implements Stackdriver formatting for logrus.
func NewFormatter ¶
NewFormatter returns a new Formatter.
type HTTPRequest ¶ added in v1.0.2
type HTTPRequest struct {
RequestMethod string `json:"requestMethod,omitempty"`
RequestURL string `json:"requestUrl,omitempty"`
RequestSize string `json:"requestSize,omitempty"`
Status string `json:"status,omitempty"`
ResponseSize string `json:"responseSize,omitempty"`
UserAgent string `json:"userAgent,omitempty"`
RemoteIP string `json:"remoteIp,omitempty"`
ServerIP string `json:"serverIp,omitempty"`
Referer string `json:"referer,omitempty"`
Latency string `json:"latency,omitempty"`
Protocol string `json:"protocol,omitempty"`
}
HTTPRequest defines details of a request and response to append to a log.
type Option ¶
type Option func(*Formatter)
Option lets you configure the Formatter.
func WithProjectID ¶ added in v1.0.2
WithProjectID makes sure all entries have your Project information.
func WithService ¶
WithService lets you configure the service name used for error reporting.
func WithStackSkip ¶
WithStackSkip lets you configure which packages should be skipped for locating the error.
func WithVersion ¶
WithVersion lets you configure the service version used for error reporting.
type ReportLocation ¶ added in v1.0.2
type ReportLocation struct {
FilePath string `json:"filePath,omitempty"`
LineNumber int `json:"lineNumber,omitempty"`
FunctionName string `json:"functionName,omitempty"`
}
ReportLocation is the information about where an error occurred.
type ServiceContext ¶ added in v1.0.2
type ServiceContext struct {
Service string `json:"service,omitempty"`
Version string `json:"version,omitempty"`
}
ServiceContext provides the data about the service we are sending to Google.