These constants define default values for File log handler.
const ( DefaultFileName = "log" DefaultFileMode = 0644 DefaultFileFlags = os.O_CREATE | os.O_APPEND | os.O_WRONLY )
These constants define default values for Formatter.
const ( DefaultDateFormat = "{year}-{month}-{day} {hour}:{minute}:{second},{millisecond}" DefaultFormat = "{date} - {Level | printf \"%-8s\"} - {file}:{line}:{function}(): {message}" DefaultPlaceholder = "p" )
These constants define log level values and names used by various logger functions like for example Debug or Info. It defines also default logger values.
const ( OffsetLevel = 10 TraceLevel = 0 DebugLevel = OffsetLevel + TraceLevel InfoLevel = OffsetLevel + DebugLevel NoticeLevel = OffsetLevel + InfoLevel WarningLevel = OffsetLevel + NoticeLevel ErrorLevel = OffsetLevel + WarningLevel CriticalLevel = OffsetLevel + ErrorLevel AlertLevel = OffsetLevel + CriticalLevel FatalLevel = OffsetLevel + AlertLevel PanicLevel = OffsetLevel + FatalLevel MinimumLevel = TraceLevel MaximumLevel = PanicLevel TraceName = "trace" DebugName = "debug" InfoName = "info" NoticeName = "notice" WarningName = "warning" ErrorName = "error" CriticalName = "critical" AlertName = "alert" FatalName = "fatal" PanicName = "panic" DefaultTypeName = "log" DefaultErrorCode = 1 )
These constants define default values for syslog.
const ( DefaultSyslogPort = 514 DefaultSyslogVersion = 1 DefaultSyslogNetwork = "udp" DefaultSyslogAddress = "localhost" DefaultSyslogTimeout = 100 * time.Millisecond DefaultSyslogFormat = "<{syslogPriority}>{syslogVersion} {iso8601} {address} {name} {pid} {id} - " + "{file}:{line}:{function}(): {message}" DefaultSyslogFacility = 1 )
These constants define default values for Worker.
const (
DefaultQueueLength = 4096
)
These constants are used for the RuntimeError.
const (
RuntimeErrorSkipCall = 1
)
func Alert(message string, arguments ...interface{})
Alert logs messages for alert conditions. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func Close()
Close closes all added log handlers.
func Critical(message string, arguments ...interface{})
Critical logs messages for critical conditions. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func Debug(message string, arguments ...interface{})
Debug logs debugging messages. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func Error(message string, arguments ...interface{})
Error logs messages for error conditions. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func Fatal(message string, arguments ...interface{})
Fatal logs messages for fatal conditions. It stops logger worker thread and it exists the application with an error code. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func GetErrorCode() int
GetErrorCode returns error code.
func GetName() string
GetName returns logger name.
func Info(message string, arguments ...interface{})
Info logs informational messages. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func IsEnabled() bool
IsEnabled returns true if at least one of added log handlers is enabled.
func Log(level int, levelName, message string, arguments ...interface{})
Log logs messages with user defined log level value and name. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func Notice(message string, arguments ...interface{})
Notice logs messages for significant conditions. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func Panic(message string, arguments ...interface{})
Panic logs messages for fatal conditions. It stops logger worker thread and it exists the application with a panic. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func StreamHandlerDefault(writer io.Writer, record *Record, formatter *Formatter) error
StreamHandlerDefault is a default stream handler for writing log records to stream.
func StreamHandlerNDJSON(writer io.Writer, record *Record, _ *Formatter) error
StreamHandlerNDJSON handles writing log records in the NDJSON format.
func Trace(message string, arguments ...interface{})
Trace logs finer-grained informational messages than the Debug. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func Warning(message string, arguments ...interface{})
Warning logs messages for warning conditions that can be potentially harmful. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
Arguments defines log arguments.
type Arguments []interface{}
A Buffer represents a log handler object for logging messages using buffer object.
type Buffer struct {
// contains filtered or unexported fields
}
func NewBuffer() *Buffer
NewBuffer creates a new buffer log handler object.
func (b *Buffer) Bytes() []byte
Bytes returns a slice of length b.Length() holding the unread portion of the buffer. The slice is valid for use only until the next buffer modification.
func (b *Buffer) Close() error
Close closes buffer.
func (b *Buffer) Disable() Handler
Disable disabled log handler.
func (b *Buffer) Emit(record *Record) error
Emit logs messages from logger using buffer.
func (b *Buffer) Enable() Handler
Enable enables log handler.
func (b *Buffer) GetBuffer() *bytes.Buffer
GetBuffer returns internal buffer object.
func (b *Buffer) GetFormatter() *Formatter
GetFormatter returns log formatter.
func (b *Buffer) GetLevelRange() (min, max int)
GetLevelRange returns minimum and maximum log level values.
func (b *Buffer) GetMaximumLevel() int
GetMaximumLevel returns maximum log level.
func (b *Buffer) GetMinimumLevel() int
GetMinimumLevel returns minimum log level.
func (b *Buffer) IsEnabled() bool
IsEnabled returns if log handler is enabled.
func (b *Buffer) Length() int
Length returns the number of bytes of the unread portion of the buffer.
func (b *Buffer) Reset()
Reset resets the buffer to be empty, but it retains the underlying storage for use by future writes.
func (b *Buffer) SetFormatter(formatter *Formatter) Handler
SetFormatter sets log formatter.
func (b *Buffer) SetLevel(level int) Handler
SetLevel sets log level.
func (b *Buffer) SetLevelRange(min, max int) Handler
SetLevelRange sets minimum and maximum log level values.
func (b *Buffer) SetMaximumLevel(level int) Handler
SetMaximumLevel sets maximum log level.
func (b *Buffer) SetMinimumLevel(level int) Handler
SetMinimumLevel sets minimum log level.
func (b *Buffer) SetStreamHandler(handler StreamHandler) *Buffer
SetStreamHandler sets custom stream handler.
func (b *Buffer) String() string
String returns the contents of the unread portion of the buffer as a string.
A File represents a log handler object for logging messages to file.
type File struct {
// contains filtered or unexported fields
}
func NewFile() *File
NewFile creates a new File log handler object.
func (f *File) Close() error
Close closes opened file.
func (f *File) Disable() Handler
Disable disabled log handler.
func (f *File) Emit(record *Record) error
Emit logs messages from Logger to file.
func (f *File) Enable() Handler
Enable enables log handler.
func (f *File) GetFlags() int
GetFlags returns file flags.
func (f *File) GetFormatter() *Formatter
GetFormatter returns Formatter.
func (f *File) GetLevelRange() (min, max int)
GetLevelRange returns minimum and maximum log level values.
func (f *File) GetMaximumLevel() int
GetMaximumLevel returns maximum log level.
func (f *File) GetMinimumLevel() int
GetMinimumLevel returns minimum log level.
func (f *File) GetMode() os.FileMode
GetMode returns file mode/permissions.
func (f *File) GetName() string
GetName sets file name used for log messages.
func (f *File) IsEnabled() bool
IsEnabled returns if log handler is enabled.
func (f *File) Open() (io.WriteCloser, error)
Open file.
func (f *File) SetFlags(flags int) *File
SetFlags sets file flags from os package.
func (f *File) SetFormatter(formatter *Formatter) Handler
SetFormatter sets Formatter.
func (f *File) SetLevel(level int) Handler
SetLevel sets log level.
func (f *File) SetLevelRange(min, max int) Handler
SetLevelRange sets minimum and maximum log level values.
func (f *File) SetMaximumLevel(level int) Handler
SetMaximumLevel sets maximum log level.
func (f *File) SetMinimumLevel(level int) Handler
SetMinimumLevel sets minimum log level.
func (f *File) SetMode(mode os.FileMode) *File
SetMode sets file mode/permissions.
func (f *File) SetName(name string) *File
SetName sets file name used for log messages.
func (f *File) SetStreamHandler(handler StreamHandler) *File
SetStreamHandler sets custom stream handler.
A Formatter represents a formatter object used by log handler to format log message.
type Formatter struct {
// contains filtered or unexported fields
}
func NewFormatter() *Formatter
NewFormatter creates a new Formatter object with default format settings.
func (f *Formatter) AddFuncs(funcs FormatterFuncs) *Formatter
AddFuncs adds template functions to format log message.
func (f *Formatter) Format(record *Record) (string, error)
Format returns formatted log message string based on provided log record object.
func (f *Formatter) FormatMessage(record *Record) (string, error)
FormatMessage returns formatted user message string based on provided log record object.
func (f *Formatter) FormatTime(record *Record) (string, error)
FormatTime returns formatted date string based on provided log record object.
func (f *Formatter) GetDateFormat() string
GetDateFormat returns format string used for formatting date in log message.
func (f *Formatter) GetFormat() string
GetFormat returns format string used for formatting log message.
func (f *Formatter) GetPlaceholder() string
GetPlaceholder returns placeholder string prefix used for automatic and positional placeholders to format log message.
func (f *Formatter) Reset() *Formatter
Reset resets Formatter.
func (f *Formatter) SetDateFormat(dateFormat string) *Formatter
SetDateFormat sets format string used for formatting date in log message.
func (f *Formatter) SetFormat(format string) *Formatter
SetFormat sets format string used for formatting log message.
func (f *Formatter) SetPlaceholder(placeholder string) *Formatter
SetPlaceholder sets placeholder string prefix used for automatic and positional placeholders to format log message.
FormatterFuncs defines map of template functions.
type FormatterFuncs map[string]interface{}
Handler defines interface for log handlers.
type Handler interface { SetFormatter(formatter *Formatter) Handler GetFormatter() *Formatter SetLevel(level int) Handler SetMinimumLevel(level int) Handler GetMinimumLevel() int SetMaximumLevel(level int) Handler GetMaximumLevel() int SetLevelRange(min, max int) Handler GetLevelRange() (min, max int) Enable() Handler Disable() Handler IsEnabled() bool Emit(record *Record) error Close() error }
func GetHandler(name string) (Handler, error)
GetHandler returns added log handler by provided name.
Handlers defines map of log handlers.
type Handlers map[string]Handler
func GetHandlers() Handlers
GetHandlers returns all added log handlers.
IDGenerator type that returns generated ID used in log messages.
type IDGenerator interface { Generate() (id string, err error) }
func GetIDGenerator() IDGenerator
GetIDGenerator returns ID generator function that is called by logger to generate ID for created log messages.
Level defines log level information fields.
type Level struct { Value int `json:"value"` Name string `json:"name"` }
A Logger represents an active logging object that generates log messages for different added log handlers. Each logging operations creates and sends lightweight not formatted log message to separate worker thread. It offloads main code from unnecessary resource consuming formatting and I/O operations.
type Logger struct {
// contains filtered or unexported fields
}
func AddFuncs(funcs FormatterFuncs) *Logger
AddFuncs adds template functions to format log message to all added log handlers.
func AddHandler(name string, handler Handler) *Logger
AddHandler sets log handler under provided identifier name.
func Disable() *Logger
Disable disabled all added log handlers.
func Emit(record *Record) *Logger
Emit emits provided log record to logger worker thread for further formatting and I/O handling from different addded log handlers.
func Enable() *Logger
Enable enables all added log handlers.
func Flush() *Logger
Flush flushes all log messages.
func Get() *Logger
Get returns global logger instance.
func New() *Logger
New creates new logger instance with default handlers.
func RemoveHandler(name string) *Logger
RemoveHandler removes added log handler by provided name.
func RemoveHandlers() *Logger
RemoveHandlers removes all added log handlers.
func Reset() *Logger
Reset resets logger to default state and default log handlers.
func ResetFormatters() *Logger
ResetFormatters resets all formatters from added log handlers.
func ResetHandlers() *Logger
ResetHandlers sets logger default log handlers.
func SetDateFormat(format string) *Logger
SetDateFormat sets provided date format string to all added log handlers.
func SetErrorCode(errorCode int) *Logger
SetErrorCode sets error code that is returned during Fatal call. On default it is 1.
func SetFormat(format string) *Logger
SetFormat sets provided format string to all added log handlers.
func SetFormatter(formatter *Formatter) *Logger
SetFormatter sets provided formatter to all added log handlers.
func SetHandler(name string, handler Handler) *Logger
SetHandler sets a single log handler for logger. It is equivalent to logger.RemoveHandlers().SetHandlers(logger.Handlers{name: handler}).
func SetHandlers(handlers Handlers) *Logger
SetHandlers sets log handlers for logger.
func SetIDGenerator(idGenerator IDGenerator) *Logger
SetIDGenerator sets ID generator function that is called by logger to generate ID for created log messages.
func SetLevel(level int) *Logger
SetLevel sets log level to all added log handlers.
func SetLevelRange(min, max int) *Logger
SetLevelRange sets minimum and maximum log level values to all added log handlers.
func SetMaximumLevel(level int) *Logger
SetMaximumLevel sets maximum log level to all added log handlers.
func SetMinimumLevel(level int) *Logger
SetMinimumLevel sets minimum log level to all added log handlers.
func SetName(name string) *Logger
SetName sets logger name.
func SetPlaceholder(placeholder string) *Logger
SetPlaceholder sets provided placeholder string to all added log handlers.
func (l *Logger) AddFuncs(funcs FormatterFuncs) *Logger
AddFuncs adds template functions to format log message to all added log handlers.
func (l *Logger) AddHandler(name string, handler Handler) *Logger
AddHandler sets log handler under provided identifier name.
func (l *Logger) Alert(message string, arguments ...interface{})
Alert logs messages for alert conditions. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func (l *Logger) Close() error
Close closes all added log handlers.
func (l *Logger) CloseDefer()
CloseDefer is a small helper function that invokes the .Close() method and it does an error checking with logging. Useful when using with the defer keyword to avoid creating an anonymous function wrapper only to check for an error manually and passing the errcheck linter.
func (l *Logger) Critical(message string, arguments ...interface{})
Critical logs messages for critical conditions. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func (l *Logger) Debug(message string, arguments ...interface{})
Debug logs debugging messages. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func (l *Logger) Disable() *Logger
Disable disabled all added log handlers.
func (l *Logger) Emit(record *Record) *Logger
Emit emits provided log record to logger worker thread for further formatting and I/O handling from different addded log handlers.
func (l *Logger) Enable() *Logger
Enable enables all added log handlers.
func (l *Logger) Error(message string, arguments ...interface{})
Error logs messages for error conditions. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different log handlers.
func (l *Logger) Fatal(message string, arguments ...interface{})
Fatal logs messages for fatal conditions. It stops logger worker thread and it exists the application with an error code. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func (l *Logger) Flush() *Logger
Flush flushes all log messages.
func (l *Logger) GetErrorCode() int
GetErrorCode returns error code.
func (l *Logger) GetHandler(name string) (Handler, error)
GetHandler returns added log handler by provided name.
func (l *Logger) GetHandlers() Handlers
GetHandlers returns all added log handlers.
func (l *Logger) GetIDGenerator() IDGenerator
GetIDGenerator returns ID generator function that is called by logger to generate ID for created log messages.
func (l *Logger) GetName() string
GetName returns logger name.
func (l *Logger) Info(message string, arguments ...interface{})
Info logs informational messages. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func (l *Logger) IsEnabled() bool
IsEnabled returns true if at least one of added log handlers is enabled.
func (l *Logger) Log(level int, levelName, message string, arguments ...interface{})
Log logs messages with user defined log level value and name. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func (l *Logger) LogMessage(level int, levelName, message string, arguments ...interface{})
LogMessage logs message with defined log level value and name. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers. Use this method in custom log wrapper methods.
func (l *Logger) Notice(message string, arguments ...interface{})
Notice logs messages for significant conditions. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func (l *Logger) Panic(message string, arguments ...interface{})
Panic logs messages for fatal conditions. It stops logger worker thread and it exists the application with a panic. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func (l *Logger) RemoveHandler(name string) *Logger
RemoveHandler removes added log handler by provided name.
func (l *Logger) RemoveHandlers() *Logger
RemoveHandlers removes all added log handlers.
func (l *Logger) Reset() *Logger
Reset resets logger to default state and default log handlers.
func (l *Logger) ResetFormatters() *Logger
ResetFormatters resets all formatters from added log handlers.
func (l *Logger) ResetHandlers() *Logger
ResetHandlers sets logger default log handlers.
func (l *Logger) SetDateFormat(format string) *Logger
SetDateFormat sets provided date format string to all added log handlers.
func (l *Logger) SetErrorCode(errorCode int) *Logger
SetErrorCode sets error code that is returned during Fatal call. On default it is 1.
func (l *Logger) SetFormat(format string) *Logger
SetFormat sets provided format string to all added log handlers.
func (l *Logger) SetFormatter(formatter *Formatter) *Logger
SetFormatter sets provided formatter to all added log handlers.
func (l *Logger) SetHandler(name string, handler Handler) *Logger
SetHandler sets a single log handler for logger. It is equivalent to logger.RemoveHandlers().SetHandlers(logger.Handlers{name: handler}).
func (l *Logger) SetHandlers(handlers Handlers) *Logger
SetHandlers sets log handlers for logger.
func (l *Logger) SetIDGenerator(idGenerator IDGenerator) *Logger
SetIDGenerator sets ID generator function that is called by logger to generate ID for created log messages.
func (l *Logger) SetLevel(level int) *Logger
SetLevel sets log level to all added log handlers.
func (l *Logger) SetLevelRange(min, max int) *Logger
SetLevelRange sets minimum and maximum log level values to all added log handlers.
func (l *Logger) SetMaximumLevel(level int) *Logger
SetMaximumLevel sets maximum log level to all added log handlers.
func (l *Logger) SetMinimumLevel(level int) *Logger
SetMinimumLevel sets minimum log level to all added log handlers.
func (l *Logger) SetName(name string) *Logger
SetName sets logger name.
func (l *Logger) SetPlaceholder(placeholder string) *Logger
SetPlaceholder sets provided placeholder string to all added log handlers.
func (l *Logger) Trace(message string, arguments ...interface{})
Trace logs finer-grained informational messages than the Debug. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
func (l *Logger) Warning(message string, arguments ...interface{})
Warning logs messages for warning conditions that can be potentially harmful. It creates and sends lightweight not formatted log messages to separate running logger thread for further formatting and I/O handling from different added log handlers.
Named is used as named string placeholders for logger functions.
type Named map[string]interface{}
Opener implements Open method.
type Opener interface { Open() (io.WriteCloser, error) }
Record defines log record fields created by Logger and it is used by Formatter to format log message based on these fields.
type Record struct { ID string `json:"id"` Type string `json:"type"` Name string `json:"name"` Time time.Time `json:"-"` Level Level `json:"level"` Address string `json:"address"` Hostname string `json:"hostname"` Message string `json:"message"` File Source `json:"file"` Arguments Arguments `json:"arguments"` Timestamp Timestamp `json:"timestamp"` // contains filtered or unexported fields }
func (r *Record) FromJSON(data []byte) error
FromJSON unpacks data from JSON.
func (r *Record) GetMessage() (string, error)
GetMessage returns formatted message.
func (r *Record) ToJSON() ([]byte, error)
ToJSON packs data to JSON.
RuntimeError defines runtime error with returned error message, file name, file line number and function name.
type RuntimeError struct {
// contains filtered or unexported fields
}
func NewRuntimeError(message string, arguments ...interface{}) *RuntimeError
NewRuntimeError creates new RuntimeError object.
func NewRuntimeErrorBase(skipCall int, message string, arguments ...interface{}) *RuntimeError
NewRuntimeErrorBase creates new RuntimeError object using custom skip call value.
func (r *RuntimeError) Error() string
Error returns formatted error string with message, file name, file line number and function name.
func (r *RuntimeError) Unwrap() error
Unwrap wrapped error.
Source defines log file information fields.
type Source struct { Function string `json:"function"` Name string `json:"name"` Path string `json:"-"` Line int `json:"line"` }
A Stream represents a log handler object for logging messages using stream object.
type Stream struct {
// contains filtered or unexported fields
}
func NewStderr() *Stream
NewStderr created a new Stderr log handler object.
func NewStdout() *Stream
NewStdout created a new Stdout log handler object.
func NewStream() *Stream
NewStream creates a new Stream log handler object.
func (s *Stream) Close() error
Close closes I/O stream.
func (s *Stream) Disable() Handler
Disable disabled log handler.
func (s *Stream) Emit(record *Record) error
Emit logs messages from logger using I/O stream.
func (s *Stream) Enable() Handler
Enable enables log handler.
func (s *Stream) GetFormatter() *Formatter
GetFormatter returns Formatter.
func (s *Stream) GetLevelRange() (min, max int)
GetLevelRange returns minimum and maximum log level values.
func (s *Stream) GetMaximumLevel() int
GetMaximumLevel returns maximum log level.
func (s *Stream) GetMinimumLevel() int
GetMinimumLevel returns minimum log level.
func (s *Stream) IsEnabled() bool
IsEnabled returns if log handler is enabled.
func (s *Stream) Lock()
Lock locks stream.
func (s *Stream) RLock()
RLock locks stream.
func (s *Stream) RUnlock()
RUnlock locks stream.
func (s *Stream) Reopen() *Stream
Reopen reopens stream.
func (s *Stream) SetFormatter(formatter *Formatter) Handler
SetFormatter sets Formatter.
func (s *Stream) SetLevel(level int) Handler
SetLevel sets log level.
func (s *Stream) SetLevelRange(min, max int) Handler
SetLevelRange sets minimum and maximum log level values.
func (s *Stream) SetMaximumLevel(level int) Handler
SetMaximumLevel sets maximum log level.
func (s *Stream) SetMinimumLevel(level int) Handler
SetMinimumLevel sets minimum log level.
func (s *Stream) SetOpener(opener Opener) *Stream
SetOpener sets opener interface.
func (s *Stream) SetStreamHandler(handler StreamHandler) *Stream
SetStreamHandler sets custom stream handler.
func (s *Stream) SetWriteCloser(writeCloser io.WriteCloser) error
SetWriteCloser sets new writer and closer to stream.
func (s *Stream) SetWriter(writer io.Writer) error
SetWriter sets new writer to stream.
func (s *Stream) Unlock()
Unlock locks stream.
StreamHandler defines a custom stream handler for writing log records with writer.
type StreamHandler func(writer io.Writer, record *Record, formatter *Formatter) error
A Syslog represents a log handler object for logging messages to running Syslog server.
type Syslog struct {
// contains filtered or unexported fields
}
func NewSyslog() *Syslog
NewSyslog creates a new Syslog log handler object.
func (s *Syslog) Close() error
Close closes communication to Syslog server.
func (s *Syslog) Disable() Handler
Disable disabled log handler.
func (s *Syslog) Emit(record *Record) error
Emit logs messages from Logger to Syslog server.
func (s *Syslog) Enable() Handler
Enable enables log handler.
func (s *Syslog) GetAddress() string
GetAddress returns IP address or hostname that is used to communicate with Syslog server.
func (s *Syslog) GetFormatter() *Formatter
GetFormatter returns Formatter.
func (s *Syslog) GetLevelRange() (min, max int)
GetLevelRange returns minimum and maximum log level values.
func (s *Syslog) GetMaximumLevel() int
GetMaximumLevel returns maximum log level.
func (s *Syslog) GetMinimumLevel() int
GetMinimumLevel returns minimum log level.
func (s *Syslog) GetNetwork() string
GetNetwork returns network type like "udp" or "tcp" that is used to communicate with Syslog server.
func (s *Syslog) GetPort() int
GetPort returns port number that is used to communicate with Syslog server.
func (s *Syslog) GetTimeout() time.Duration
GetTimeout returns connection timeout.
func (s *Syslog) IsEnabled() bool
IsEnabled returns if log handler is enabled.
func (s *Syslog) Open() (io.WriteCloser, error)
Open opens new connection.
func (s *Syslog) SetAddress(address string) *Syslog
SetAddress sets IP address or hostname that is used to communicate with Syslog server.
func (s *Syslog) SetFormatter(formatter *Formatter) Handler
SetFormatter sets Formatter.
func (s *Syslog) SetLevel(level int) Handler
SetLevel sets log level.
func (s *Syslog) SetLevelRange(min, max int) Handler
SetLevelRange sets minimum and maximum log level values.
func (s *Syslog) SetMaximumLevel(level int) Handler
SetMaximumLevel sets maximum log level.
func (s *Syslog) SetMinimumLevel(level int) Handler
SetMinimumLevel sets minimum log level.
func (s *Syslog) SetNetwork(network string) *Syslog
SetNetwork sets network type like "udp" or "tcp" that is used to communicate with Syslog server.
func (s *Syslog) SetPort(port int) *Syslog
SetPort sets port number that is used to communicate with Syslog server.
func (s *Syslog) SetTimeout(timeout time.Duration) *Syslog
SetTimeout sets connection timeout.
Timestamp defines log timestamp information fields.
type Timestamp struct { Created string `json:"created"` }
An UUID4 represents uui4 generator.
type UUID4 struct{}
func NewUUID4() *UUID4
NewUUID4 create a new UUID4 object.
func (u *UUID4) Generate() (id string, err error)
Generate generates new UUID4.
A Worker represents an active logger worker thread. It handles formatting received log messages and I/O operations.
type Worker struct {
// contains filtered or unexported fields
}
func GetWorker() *Worker
GetWorker returns logger worker instance. First call to it creates and starts logger worker thread.
func NewWorker() *Worker
NewWorker creates a new Worker object.
func (w *Worker) Flush() *Worker
Flush flushes all log messages.
func (w *Worker) SetQueueLength(length int) *Worker
SetQueueLength sets logger worker thread queue length for log messages.