Documentation
¶
Overview ¶
Package logs defines loggers for use in projects.
Copyright (C) 2020-2022 Arm Limited or its affiliates and Contributors. All rights reserved.
SPDX-License-Identifier: Apache-2.0
Copyright (C) 2020-2022 Arm Limited or its affiliates and Contributors. All rights reserved.
SPDX-License-Identifier: Apache-2.0
Copyright (C) 2020-2022 Arm Limited or its affiliates and Contributors. All rights reserved.
SPDX-License-Identifier: Apache-2.0
Package logs defines loggers for use in projects.
Copyright (C) 2020-2022 Arm Limited or its affiliates and Contributors. All rights reserved.
SPDX-License-Identifier: Apache-2.0
Copyright (C) 2020-2022 Arm Limited or its affiliates and Contributors. All rights reserved.
SPDX-License-Identifier: Apache-2.0
Copyright (C) 2020-2022 Arm Limited or its affiliates and Contributors. All rights reserved.
SPDX-License-Identifier: Apache-2.0
Package logs defines loggers for use in projects.
Index ¶
- Constants
- func NewLogrLoggerFromLoggers(loggers Loggers) logr.Logger
- type AsynchronousLoggers
- func (l *AsynchronousLoggers) Check() error
- func (l *AsynchronousLoggers) Close() error
- func (l *AsynchronousLoggers) GetLoggerSource() string
- func (l *AsynchronousLoggers) Log(output ...interface{})
- func (l *AsynchronousLoggers) LogError(err ...interface{})
- func (l *AsynchronousLoggers) SetLogSource(source string) error
- func (l *AsynchronousLoggers) SetLoggerSource(source string) error
- type DiodeWriter
- type GenericLoggers
- type IMultipleLoggers
- type JSONLoggers
- func (l *JSONLoggers) Check() error
- func (l *JSONLoggers) Close() error
- func (l *JSONLoggers) Configure() error
- func (l *JSONLoggers) GetLoggerSource() string
- func (l *JSONLoggers) GetSource() string
- func (l *JSONLoggers) Log(output ...interface{})
- func (l *JSONLoggers) LogError(err ...interface{})
- func (l *JSONLoggers) SetLogSource(source string) error
- func (l *JSONLoggers) SetLoggerSource(source string) error
- type Loggers
- func CreateFileLogger(logFile string, loggerSource string) (loggers Loggers, err error)deprecated
- func CreateStdLogger(loggerSource string) (loggers Loggers, err error)deprecated
- func NewAsynchronousLoggers(slowOutputWriter WriterWithSource, slowErrorWriter WriterWithSource, ...) (loggers Loggers, err error)
- func NewAsynchronousStdLogger(loggerSource string, ringBufferSize int, pollInterval time.Duration, ...) (loggers Loggers, err error)
- func NewFileLogger(logFile string, loggerSource string) (loggers Loggers, err error)
- func NewJSONLogger(writer WriterWithSource, loggerSource string, source string) (loggers Loggers, err error)
- func NewJSONLoggerForSlowWriter(slowWriter WriterWithSource, ringBufferSize int, pollInterval time.Duration, ...) (loggers Loggers, err error)
- func NewLogrLogger(logrImpl logr.Logger, loggerSource string) (Loggers, error)
- func NewLogrLoggerWithClose(logrImpl logr.Logger, loggerSource string, closeFunc func() error) (loggers Loggers, err error)
- func NewLogrusLogger(logrusL *logrus.Logger, loggerSource string) (loggers Loggers, err error)
- func NewLogrusLoggerWithFileHook(logrusL *logrus.Logger, loggerSource string, logFilePath string) (loggers Loggers, err error)
- func NewNoopLogger(loggerSource string) (loggers Loggers, err error)
- func NewStdLogger(loggerSource string) (loggers Loggers, err error)
- func NewZapLogger(zapL *zap.Logger, loggerSource string) (loggers Loggers, err error)
- type MultipleLogger
- func (c *MultipleLogger) Append(l ...Loggers) error
- func (c *MultipleLogger) AppendLogger(l ...logr.Logger) error
- func (c *MultipleLogger) Check() error
- func (c *MultipleLogger) Close() error
- func (c *MultipleLogger) GetLoggerSource() string
- func (c *MultipleLogger) Log(output ...interface{})
- func (c *MultipleLogger) LogError(err ...interface{})
- func (c *MultipleLogger) SetLogSource(source string) error
- func (c *MultipleLogger) SetLoggerSource(source string) error
- type MultipleWritersWithSource
- func (w *MultipleWritersWithSource) AddWriters(writers ...WriterWithSource) error
- func (w *MultipleWritersWithSource) Close() (err error)
- func (w *MultipleWritersWithSource) GetWriters() ([]WriterWithSource, error)
- func (w *MultipleWritersWithSource) SetSource(source string) (err error)
- func (w *MultipleWritersWithSource) Write(p []byte) (n int, err error)
- type StdErrWriter
- type StdLogger
- type StdWriter
- type StringLoggers
- type StringWriter
- type WriterWithSource
Constants ¶
const ( KeyLogSource = "source" KeyLoggerSource = "logger-source" )
Variables ¶
This section is empty.
Functions ¶
func NewLogrLoggerFromLoggers ¶ added in v1.14.0
NewLogrLoggerFromLoggers converts loggers into a logr.Logger
Types ¶
type AsynchronousLoggers ¶
type AsynchronousLoggers struct {
// contains filtered or unexported fields
}
func (*AsynchronousLoggers) Check ¶
func (l *AsynchronousLoggers) Check() error
func (*AsynchronousLoggers) Close ¶
func (l *AsynchronousLoggers) Close() error
func (*AsynchronousLoggers) GetLoggerSource ¶
func (l *AsynchronousLoggers) GetLoggerSource() string
func (*AsynchronousLoggers) Log ¶
func (l *AsynchronousLoggers) Log(output ...interface{})
func (*AsynchronousLoggers) LogError ¶
func (l *AsynchronousLoggers) LogError(err ...interface{})
func (*AsynchronousLoggers) SetLogSource ¶
func (l *AsynchronousLoggers) SetLogSource(source string) error
func (*AsynchronousLoggers) SetLoggerSource ¶
func (l *AsynchronousLoggers) SetLoggerSource(source string) error
type DiodeWriter ¶
type DiodeWriter struct { WriterWithSource // contains filtered or unexported fields }
func (*DiodeWriter) Close ¶
func (w *DiodeWriter) Close() error
func (*DiodeWriter) SetSource ¶
func (w *DiodeWriter) SetSource(source string) error
type GenericLoggers ¶
func (*GenericLoggers) Check ¶
func (l *GenericLoggers) Check() error
func (*GenericLoggers) Log ¶
func (l *GenericLoggers) Log(output ...interface{})
func (*GenericLoggers) LogError ¶
func (l *GenericLoggers) LogError(err ...interface{})
func (*GenericLoggers) SetLogSource ¶
func (l *GenericLoggers) SetLogSource(string) error
func (*GenericLoggers) SetLoggerSource ¶
func (l *GenericLoggers) SetLoggerSource(string) error
type IMultipleLoggers ¶ added in v1.22.0
type IMultipleLoggers interface { Loggers // AppendLogger appends generic loggers to the internal list of loggers managed by this system. AppendLogger(l ...logr.Logger) error // Append appends loggers to the internal list of loggers managed by this system. Append(l ...Loggers) error }
IMultipleLoggers provides an interface to manage multiple loggers the same way as a single logger.
func NewMultipleLoggers ¶ added in v1.22.0
func NewMultipleLoggers(loggerSource string, defaultLoggers ...Loggers) (l IMultipleLoggers, err error)
NewMultipleLoggers returns a logger which abstracts and internally manages a list of loggers. if no default loggers are provided, the logger will be set to print to the standard output.
type JSONLoggers ¶
type JSONLoggers struct { Loggers // contains filtered or unexported fields }
JSONLoggers defines a JSON logger
func (*JSONLoggers) Check ¶
func (l *JSONLoggers) Check() error
Check checks whether the logger is correctly defined or not.
func (*JSONLoggers) Configure ¶
func (l *JSONLoggers) Configure() error
func (*JSONLoggers) GetLoggerSource ¶
func (l *JSONLoggers) GetLoggerSource() string
func (*JSONLoggers) GetSource ¶
func (l *JSONLoggers) GetSource() string
func (*JSONLoggers) Log ¶
func (l *JSONLoggers) Log(output ...interface{})
Log logs to the output stream.
func (*JSONLoggers) LogError ¶
func (l *JSONLoggers) LogError(err ...interface{})
LogError logs to the error stream.
func (*JSONLoggers) SetLogSource ¶
func (l *JSONLoggers) SetLogSource(source string) error
func (*JSONLoggers) SetLoggerSource ¶
func (l *JSONLoggers) SetLoggerSource(source string) error
type Loggers ¶
type Loggers interface { io.Closer // Check returns whether the loggers are correctly defined or not. Check() error // SetLogSource sets the source of the log message e.g. related build job, related command, etc. SetLogSource(source string) error // SetLoggerSource sets the source of the logger e.g. APIs, Build worker, CMSIS tools. SetLoggerSource(source string) error // Log logs to the output stream/logger. Log(output ...interface{}) // LogError logs to the Error stream/logger. LogError(err ...interface{}) }
Loggers defines generic loggers which separate common logging messages from errors. This is to use in cases where it is necessary to separate the two streams e.g. remote procedure call (RPC) In most cases however, if only a standard logger is needed, it is advised to use logr.Logger.
func CreateFileLogger
deprecated
func CreateStdLogger
deprecated
func NewAsynchronousLoggers ¶
func NewAsynchronousLoggers(slowOutputWriter WriterWithSource, slowErrorWriter WriterWithSource, ringBufferSize int, pollInterval time.Duration, loggerSource string, source string, droppedMessagesLogger Loggers) (loggers Loggers, err error)
func NewFileLogger ¶ added in v1.14.0
NewFileLogger creates a logger to a file
func NewJSONLogger ¶
func NewJSONLogger(writer WriterWithSource, loggerSource string, source string) (loggers Loggers, err error)
NewJSONLogger creates a Json logger.
func NewJSONLoggerForSlowWriter ¶
func NewJSONLoggerForSlowWriter(slowWriter WriterWithSource, ringBufferSize int, pollInterval time.Duration, loggerSource string, source string, droppedMessagesLogger Loggers) (loggers Loggers, err error)
NewJSONLoggerForSlowWriter creates a lock free, non blocking & thread safe logger wrapped around slowWriter
params: slowWriter : writer used to write data streams ringBufferSize : size of ring buffer used to receive messages pollInterval : polling duration to check buffer content loggerSource : logger application name source : source string droppedMessagesLogger : logger for dropped messages If pollInterval is greater than 0, a poller is used otherwise a waiter is used.
func NewLogrLogger ¶ added in v1.14.0
NewLogrLogger creates loggers based on a logr implementation (https://github.com/go-logr/logr)
func NewLogrLoggerWithClose ¶ added in v1.29.0
func NewLogrLoggerWithClose(logrImpl logr.Logger, loggerSource string, closeFunc func() error) (loggers Loggers, err error)
NewLogrLoggerWithClose creates loggers based on a logr implementation (https://github.com/go-logr/logr)
func NewLogrusLogger ¶
NewLogrusLogger returns a logger which uses logrus logger (https://github.com/Sirupsen/logrus)
func NewLogrusLoggerWithFileHook ¶ added in v1.14.0
func NewLogrusLoggerWithFileHook(logrusL *logrus.Logger, loggerSource string, logFilePath string) (loggers Loggers, err error)
NewLogrusLoggerWithFileHook returns a logger which uses a logrus logger (https://github.com/Sirupsen/logrus) and writes the logs to `logFilePath`
func NewNoopLogger ¶
func NewStdLogger ¶ added in v1.14.0
NewStdLogger creates a logger to standard output/error
func NewZapLogger ¶ added in v1.29.0
NewZapLogger returns a logger which uses zap logger (https://github.com/uber-go/zap)
type MultipleLogger ¶ added in v1.22.0
type MultipleLogger struct {
// contains filtered or unexported fields
}
func (*MultipleLogger) Append ¶ added in v1.22.0
func (c *MultipleLogger) Append(l ...Loggers) error
func (*MultipleLogger) AppendLogger ¶ added in v1.22.0
func (c *MultipleLogger) AppendLogger(l ...logr.Logger) error
func (*MultipleLogger) Check ¶ added in v1.22.0
func (c *MultipleLogger) Check() error
func (*MultipleLogger) Close ¶ added in v1.22.0
func (c *MultipleLogger) Close() error
func (*MultipleLogger) GetLoggerSource ¶ added in v1.22.0
func (c *MultipleLogger) GetLoggerSource() string
func (*MultipleLogger) Log ¶ added in v1.22.0
func (c *MultipleLogger) Log(output ...interface{})
func (*MultipleLogger) LogError ¶ added in v1.22.0
func (c *MultipleLogger) LogError(err ...interface{})
func (*MultipleLogger) SetLogSource ¶ added in v1.22.0
func (c *MultipleLogger) SetLogSource(source string) error
func (*MultipleLogger) SetLoggerSource ¶ added in v1.22.0
func (c *MultipleLogger) SetLoggerSource(source string) error
type MultipleWritersWithSource ¶
type MultipleWritersWithSource struct {
// contains filtered or unexported fields
}
func CreateMultipleWritersWithSource
deprecated
func CreateMultipleWritersWithSource(writers ...WriterWithSource) (writer *MultipleWritersWithSource, err error)
CreateMultipleWritersWithSource creates a compound writer with source.
Deprecated: Use NewMultipleWritersWithSource instead
func NewMultipleWritersWithSource ¶ added in v1.14.0
func NewMultipleWritersWithSource(writers ...WriterWithSource) (writer *MultipleWritersWithSource, err error)
func (*MultipleWritersWithSource) AddWriters ¶
func (w *MultipleWritersWithSource) AddWriters(writers ...WriterWithSource) error
func (*MultipleWritersWithSource) Close ¶
func (w *MultipleWritersWithSource) Close() (err error)
func (*MultipleWritersWithSource) GetWriters ¶
func (w *MultipleWritersWithSource) GetWriters() ([]WriterWithSource, error)
func (*MultipleWritersWithSource) SetSource ¶
func (w *MultipleWritersWithSource) SetSource(source string) (err error)
type StdErrWriter ¶
type StdErrWriter struct {
WriterWithSource
}
func (*StdErrWriter) Close ¶
func (w *StdErrWriter) Close() error
func (*StdErrWriter) SetSource ¶
func (w *StdErrWriter) SetSource(source string) error
type StdLogger ¶ added in v1.14.0
type StdLogger interface { // Output is the same as log.Output and log.Logger.Output. Output(calldepth int, logline string) error }
StdLogger is the subset of the Go stdlib log.Logger API.
type StdWriter ¶
type StdWriter struct {
WriterWithSource
}
type StringLoggers ¶
type StringLoggers struct { GenericLoggers LogWriter StringWriter }
func CreateStringLogger
deprecated
func CreateStringLogger(loggerSource string) (loggers *StringLoggers, err error)
CreateStringLogger creates a logger to a string builder.
Deprecated: Use NewStringLogger instead
func NewStringLogger ¶ added in v1.14.0
func NewStringLogger(loggerSource string) (loggers *StringLoggers, err error)
NewStringLogger creates a logger to a string builder.
func (*StringLoggers) Check ¶
func (l *StringLoggers) Check() error
func (*StringLoggers) GetLogContent ¶
func (l *StringLoggers) GetLogContent() string
type StringWriter ¶
type StringWriter struct { io.WriteCloser Logs strings.Builder // contains filtered or unexported fields }
func (*StringWriter) Close ¶
func (w *StringWriter) Close() (err error)
func (*StringWriter) GetFullContent ¶
func (w *StringWriter) GetFullContent() string
type WriterWithSource ¶
type WriterWithSource interface { io.WriteCloser SetSource(source string) error }
func NewDiodeWriterForSlowWriter ¶
func NewDiodeWriterForSlowWriter(slowWriter WriterWithSource, ringBufferSize int, pollInterval time.Duration, droppedMessagesLogger Loggers) WriterWithSource