log

package module
v0.0.0-...-a5308ee Latest Latest
Warning

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

Go to latest
Published: Oct 31, 2019 License: GPL-3.0 Imports: 8 Imported by: 11

README

log

Symphonyprotocol logging module

Status

In development, try to use branch dev, for now only console log supported.

Usage

import "github.com/symphonyprotocol/log"

var logger = log.GetLogger("Test Category")
logger.Debug("Hello %v", "World")
logger.Trace("Hello World")

Module support

  • In progress

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	LogLevelPriorities = map[Level]uint{
		ALL:   0,
		TRACE: 1000,
		DEBUG: 2000,
		INFO:  3000,
		WARN:  4000,
		ERROR: 5000,
		FATAL: 6000,
		NONE:  math.MaxUint32,
	}
	LogLevelColors = map[Level]string{
		ALL:   "grey",
		TRACE: "blue",
		DEBUG: "cyan",
		INFO:  "green",
		WARN:  "yellow",
		ERROR: "red",
		FATAL: "magenta",
		NONE:  "grey",
	}
)
View Source
var Output = colorable.NewColorableStdout()

Functions

func AddConfiguration

func AddConfiguration(category string, appenders []Appender)

func Configure

func Configure(config map[string]([]Appender))

func IsLevelEnabled

func IsLevelEnabled(level Level, targetLevel Level) bool

func SetGlobalLevel

func SetGlobalLevel(level Level)

func SetLevelForCategory

func SetLevelForCategory(category string, level Level)

Types

type Appender

type Appender interface {
	Log(event *LoggingEvent)
	GetName() string
}

func GetAppendersForCategory

func GetAppendersForCategory(category string) []Appender

type BaseAppender

type BaseAppender struct {
	EventQueue       chan *LoggingEvent
	AppenderProvider IAppenderProvider
}

func NewBaseAppender

func NewBaseAppender() *BaseAppender

func (*BaseAppender) Log

func (b *BaseAppender) Log(event *LoggingEvent)

type ConsoleAppender

type ConsoleAppender struct {
	*BaseAppender
}

func NewConsoleAppender

func NewConsoleAppender() *ConsoleAppender

func (*ConsoleAppender) GetName

func (c *ConsoleAppender) GetName() string

type ConsoleAppenderProvider

type ConsoleAppenderProvider struct {
	IAppenderProvider
}

type FileAppender

type FileAppender struct {
	*BaseAppender
}

func NewFileAppender

func NewFileAppender(file string, rolloverSize int64) *FileAppender

TODO: rollover

func (*FileAppender) GetName

func (c *FileAppender) GetName() string

type FileAppenderProvider

type FileAppenderProvider struct {
	IAppenderProvider
	File *os.File

	RolloverSize int64
	// contains filtered or unexported fields
}

type IAppenderProvider

type IAppenderProvider interface {
	// contains filtered or unexported methods
}

type Level

type Level string
const (
	ALL   Level = "all"
	TRACE Level = "trace"
	DEBUG Level = "debug"
	INFO  Level = "info"
	WARN  Level = "warn"
	ERROR Level = "error"
	FATAL Level = "fatal"
	NONE  Level = "none"
)

func GetLevel

func GetLevel(level Level, defaultLevel Level) Level

func GetLevelForCategory

func GetLevelForCategory(category string) Level

func (Level) String

func (l Level) String() string

type Logger

type Logger struct {
	Name  string
	Level Level
}

func GetDefaultLogger

func GetDefaultLogger() *Logger

func GetLogger

func GetLogger(category string) *Logger

func NewLogger

func NewLogger(category string) *Logger

func (*Logger) Debug

func (l *Logger) Debug(format string, params ...interface{})

func (*Logger) Error

func (l *Logger) Error(format string, params ...interface{})

func (*Logger) Fatal

func (l *Logger) Fatal(format string, params ...interface{})

func (*Logger) GetLevel

func (l *Logger) GetLevel() Level

func (*Logger) Info

func (l *Logger) Info(format string, params ...interface{})

func (*Logger) Log

func (l *Logger) Log(level Level, params ...interface{})

func (*Logger) SetLevel

func (l *Logger) SetLevel(level Level) *Logger

func (*Logger) Trace

func (l *Logger) Trace(format string, params ...interface{})

func (*Logger) Warn

func (l *Logger) Warn(format string, params ...interface{})

type LoggingEvent

type LoggingEvent struct {
	StartTime time.Time
	Category  string
	Level     Level
	Data      []interface{}
}

func NewLoggingEvent

func NewLoggingEvent(category string, level Level, data []interface{}) *LoggingEvent

Jump to

Keyboard shortcuts

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