backends

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2017 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	MapTypeName = map[Type]BackendName{
		BACKEND_CONSOLE:    NAME_CONSOLE,
		BACKEND_SYSLOG:     NAME_SYSLOG,
		BACKEND_FILE:       NAME_FILE,
		BACKEND_GRAYLOG2:   NAME_GRAYLOG2,
		BACKEND_MEMORYPIPE: NAME_MEMORYPIPE,
		BACKEND_TELEGRAM:   NAME_TELEGRAM,
	}

	DefaultFormat string                    = `` // Set from package log function init()
	LogError      func(args ...interface{})      // Функция log для отправки ERROR сообщений
)
View Source
var (
	ErrBackendIdIsEmpty error = errors.New(`Backend id is empty`)
	ErrBackendNotFound  error = errors.New(`Backend not found`)
	ErrBackendIsNull    error = errors.New(`Passed object is null`)
)

Functions

This section is empty.

Types

type Backend

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

func NewBackendConsole

func NewBackendConsole(f *os.File) (ret *Backend)

func NewBackendFile

func NewBackendFile(f *os.File) (ret *Backend)

func NewBackendGraylog2

func NewBackendGraylog2(gelf *g.GelfClient) (ret *Backend)

func NewBackendMemorypipe

func NewBackendMemorypipe() (ret *Backend)

func NewBackendSyslog

func NewBackendSyslog(hn string) (ret *Backend)

func NewBackendTelegram

func NewBackendTelegram() (ret *Backend)

func (*Backend) SetFormat

func (self *Backend) SetFormat(format string) *Backend

func (*Backend) SetLevel

func (self *Backend) SetLevel(level l.Level) *Backend

Set logging level for Mode = MODE_NORMAL

func (*Backend) SetMode

func (self *Backend) SetMode(mode Mode) *Backend

Set mode filtering messages on the level of logging

MODE_NORMAL - Публикуются сообщения начиная от выбранного уровня и ниже. Напримр выбран NOTICE, публковаться будут FATAL, ALERT, CRITICAL, ERROR, WARNING, NOTICE, игнорироваться INFO, DEBUG
MODE_SELECT - Публикуются сообщения только выбранных уровней

func (*Backend) SetModeNormal

func (self *Backend) SetModeNormal() *Backend

Set mode = MODE_NORMAL

func (*Backend) SetSelectLevels

func (self *Backend) SetSelectLevels(levels ...l.Level) *Backend

Set selected logging levels for Mode = MODE_SELECT

func (*Backend) Stop

func (self *Backend) Stop() (err error)

Блокируемая функция сброса буффера бэкэнда и остановки логирования

type BackendName

type BackendName string // Mode name in configuration
const (
	NAME_CONSOLE    BackendName = "console"
	NAME_SYSLOG     BackendName = "syslog"
	NAME_FILE       BackendName = "file"
	NAME_GRAYLOG2   BackendName = "graylog2"
	NAME_MEMORYPIPE BackendName = "memorypipe"
	NAME_TELEGRAM   BackendName = "telegram"
)

func CheckMode

func CheckMode(m BackendName) BackendName

type Backends

type Backends struct {
	RecordsChan chan *m.Message          // Buffered channel incoming messages
	Pool        *list.List               // Pool of backends
	PoolIndex   map[u.UUID]*list.Element // Map of IDs backends
	// contains filtered or unexported fields
}

func NewBackends

func NewBackends() (ret *Backends)

func (*Backends) AddBackend

func (self *Backends) AddBackend(item *Backend) (ret *u.UUID, err error)

Добавление в пул нового backend

func (*Backends) Close

func (self *Backends) Close()

Wait for exit backend goroutine

func (*Backends) DelBackend

func (self *Backends) DelBackend(id *u.UUID) (err error)

Удаление из пула backend по его ID

func (*Backends) Push

func (self *Backends) Push(msg *m.Message)

Sending messages to registered backends Для того чтобы максимально быстро вернуть управление главной программе используется буфферезированный канал

type FnReader

type FnReader func(v *m.Message) // Функция чтения сообщений

type Mode

type Mode int8 // Mode filtering messages on the level of logging
const (
	MODE_NORMAL Mode = iota // 0 Публикуются сообщения начиная от выбранного уровня и ниже. Напримр выбран NOTICE, публковаться будут FATAL, ALERT, CRITICAL, ERROR, WARNING, NOTICE, игнорироваться INFO, DEBUG
	MODE_SELECT             // 1 Публикуются сообщения только выбранных уровней
)

type Type

type Type int // Type of backend
const (
	BACKEND_CONSOLE    Type = iota // 0 Logging to STDERR or STDOUT
	BACKEND_SYSLOG                 // 1 Logging to Syslog
	BACKEND_FILE                   // 1 Logging to file
	BACKEND_GRAYLOG2               // 2 Logging to graylog2 server
	BACKEND_MEMORYPIPE             // 3 Logging to memory
	BACKEND_TELEGRAM               // 4 Logging to messenger telegram
)

Jump to

Keyboard shortcuts

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