logging

package
v1.14.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 13, 2024 License: Apache-2.0 Imports: 14 Imported by: 24

Documentation

Overview

Copyright 2018 the Velero contributors.

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.

Copyright 2018 the Velero contributors.

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.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultHooks added in v0.9.0

func DefaultHooks() []logrus.Hook

DefaultHooks returns a slice of the default logrus hooks to be used by a logger.

func DefaultLogger added in v0.9.0

func DefaultLogger(level logrus.Level, format Format) *logrus.Logger

DefaultLogger returns a Logger with the default properties and hooks. The desired output format is passed as a LogFormat Enum.

Types

type DualModeLogger added in v1.11.0

type DualModeLogger interface {
	logrus.FieldLogger
	// DoneForPersist stops outputting logs to the persist file
	DoneForPersist(log logrus.FieldLogger)
	// GetPersistFile moves the persist file pointer to beginning and returns it
	GetPersistFile() (*os.File, error)
	// Dispose closes the temp file pointer and removes the file
	Dispose(log logrus.FieldLogger)
}

DualModeLogger is a thread safe logger interface to write logs to dual targets, one of which is a persist file, so that the log could be further transferred.

func NewTempFileLogger added in v1.11.0

func NewTempFileLogger(logLevel logrus.Level, logFormat Format, hook *LogHook, fields logrus.Fields) (DualModeLogger, error)

NewTempFileLogger creates a DualModeLogger instance that writes logs to both Stdout and a file in the temp folder.

type ErrorLocationHook

type ErrorLocationHook struct{}

ErrorLocationHook is a logrus hook that attaches error location information to log entries if an error is being logged and it has stack-trace information (i.e. if it originates from or is wrapped by github.com/pkg/errors, or if it implements the errorLocationer interface, like errors returned from plugins typically do).

func (*ErrorLocationHook) Fire

func (h *ErrorLocationHook) Fire(entry *logrus.Entry) error

func (*ErrorLocationHook) Levels

func (h *ErrorLocationHook) Levels() []logrus.Level

type Format added in v1.0.1

type Format string

Format is a string representation of the desired output format for logs

const (
	FormatText Format = "text"
	FormatJSON Format = "json"
)

type FormatFlag added in v1.0.1

type FormatFlag struct {
	*flag.Enum
	// contains filtered or unexported fields
}

FormatFlag is a command-line flag for setting the logrus log format.

func NewFormatFlag added in v1.0.1

func NewFormatFlag() *FormatFlag

NewFormatFlag constructs a new log level flag.

func (*FormatFlag) Parse added in v1.0.1

func (f *FormatFlag) Parse() Format

Parse returns the flag's value as a Format.

type HcLogLevelHook added in v0.6.0

type HcLogLevelHook struct{}

HcLogLevelHook adds an hclog-compatible field ("@level") containing the log level. Note that if you use this, you SHOULD NOT use logrus.JSONFormatter's FieldMap to set the level key to "@level" because that will result in the hclog-compatible info written here being overwritten.

func (*HcLogLevelHook) Fire added in v0.6.0

func (h *HcLogLevelHook) Fire(entry *logrus.Entry) error

func (*HcLogLevelHook) Levels added in v0.6.0

func (h *HcLogLevelHook) Levels() []logrus.Level

type LevelFlag added in v0.9.0

type LevelFlag struct {
	*flag.Enum
	// contains filtered or unexported fields
}

LevelFlag is a command-line flag for setting the logrus log level.

func LogLevelFlag added in v0.9.0

func LogLevelFlag(defaultValue logrus.Level) *LevelFlag

LogLevelFlag constructs a new log level flag.

func (*LevelFlag) Parse added in v0.9.0

func (f *LevelFlag) Parse() logrus.Level

Parse returns the flag's value as a logrus.Level.

type LocationInfo added in v1.0.0

type LocationInfo struct {
	File     string
	Function string
	Line     int
}

LocationInfo specifies the location of a line of code.

func GetFrameLocationInfo added in v1.0.0

func GetFrameLocationInfo(frame errors.Frame) LocationInfo

GetFrameLocationInfo returns the location of a frame.

type LogHook added in v1.10.2

type LogHook struct {
	// contains filtered or unexported fields
}

LogHook is a logrus hook that counts the number of log statements that have been written at each logrus level. It also maintains log entries at each logrus level in result structure.

func NewLogHook added in v1.10.2

func NewLogHook() *LogHook

NewLogHook returns a pointer to an initialized LogHook.

func (*LogHook) Fire added in v1.10.2

func (h *LogHook) Fire(entry *logrus.Entry) error

Fire executes the hook's logic.

func (*LogHook) GetCount added in v1.10.2

func (h *LogHook) GetCount(level logrus.Level) int

GetCount returns the number of log statements that have been written at the specific level provided.

func (*LogHook) GetEntries added in v1.10.2

func (h *LogHook) GetEntries(level logrus.Level) results.Result

GetEntries returns the log statements that have been written at the specific level provided.

func (*LogHook) Levels added in v1.10.2

func (h *LogHook) Levels() []logrus.Level

Levels returns the logrus levels that the hook should be fired for.

type LogLocationHook

type LogLocationHook struct {
	// contains filtered or unexported fields
}

LogLocationHook is a logrus hook that attaches location information to log entries, i.e. the file and line number of the logrus log call. This hook is designed for use in both the Velero server and Velero plugin implementations. When triggered within a plugin, a marker field will be set on the log entry indicating that the location came from a plugin. The Velero server instance will not overwrite location information if it sees this marker.

func (*LogLocationHook) Fire

func (h *LogLocationHook) Fire(entry *logrus.Entry) error

func (*LogLocationHook) Levels

func (h *LogLocationHook) Levels() []logrus.Level

func (*LogLocationHook) WithLoggerName added in v0.6.0

func (h *LogLocationHook) WithLoggerName(name string) *LogLocationHook

WithLoggerName gives the hook a name to use when setting the marker field on a log entry indicating the location has been recorded by a plugin. This should only be used when setting up a hook for a logger used in a plugin.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL