Spec-Zone.ru › Go

Пакет syslog

  • import "log/syslog"
  • Обзор
  • Индекс
  • Примеры

Обзор

Пакет syslog предоставляет простой интерфейс к службе системного журнала. Он может отправлять сообщения в демона syslog с использованием сокетов доменной системы UNIX, UDP или TCP.

Необходимо только одно вызов Dial. При ошибках записи клиент syslog попытается повторно подключиться к серверу и выполнить запись снова.

Пакет syslog заморожен и не принимает новые возможности. Некоторые внешние пакеты предоставляют больше функциональности. См.:

https://godoc.org/?q=syslog

Индекс

  • func NewLogger(p Priority, logFlag int) (*log.Logger, error)
  • тип Priority
  • тип Writer
  • func Dial(network, raddr string, priority Priority, tag string) (*Writer, error)
  • func New(priority Priority, tag string) (*Writer, error)
  • func (w *Writer) Alert(m string) error
  • func (w *Writer) Close() error
  • func (w *Writer) Crit(m string) error
  • func (w *Writer) Debug(m string) error
  • func (w *Writer) Emerg(m string) error
  • func (w *Writer) Err(m string) error
  • func (w *Writer) Info(m string) error
  • func (w *Writer) Notice(m string) error
  • func (w *Writer) Warning(m string) error
  • func (w *Writer) Write(b []byte) (int, error)
  • Ошибки

Примеры

Dial

Файлы пакета

doc.go syslog.go syslog_unix.go

func NewLogger

func NewLogger(p Priority, logFlag int) (*log.Logger, error)

NewLogger создаёт log.Logger, вывод которого записывается в службу системного журнала с указанной степенью приоритета, являющейся сочетанием системной установки syslog и уровня важности. Аргумент logFlag устанавливает флаги, передаваемые в log.New для создания Logger.

тип Priority

Priority — это комбинация системной установки syslog и уровня важности. Например, LOG_ALERT | LOG_FTP отправляет сообщение уровня важности «тревога» от установки FTP. Значение по умолчанию для уровня важности — LOG_EMERG, для системной установки — LOG_KERN.

type Priority int
const (

    // From /usr/include/sys/syslog.h.
    // These are the same on Linux, BSD, and OS X.
    LOG_EMERG Priority = iota
    LOG_ALERT
    LOG_CRIT
    LOG_ERR
    LOG_WARNING
    LOG_NOTICE
    LOG_INFO
    LOG_DEBUG
)
const (

    // From /usr/include/sys/syslog.h.
    // These are the same up to LOG_FTP on Linux, BSD, and OS X.
    LOG_KERN Priority = iota << 3
    LOG_USER
    LOG_MAIL
    LOG_DAEMON
    LOG_AUTH
    LOG_SYSLOG
    LOG_LPR
    LOG_NEWS
    LOG_UUCP
    LOG_CRON
    LOG_AUTHPRIV
    LOG_FTP

    LOG_LOCAL0
    LOG_LOCAL1
    LOG_LOCAL2
    LOG_LOCAL3
    LOG_LOCAL4
    LOG_LOCAL5
    LOG_LOCAL6
    LOG_LOCAL7
)

тип Writer

Writer — это соединение с сервером syslog.

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

func Dial

func Dial(network, raddr string, priority Priority, tag string) (*Writer, error)

Dial устанавливает соединение с демоном журнала, подключаясь к адресу raddr в указанной сети. Каждая запись в возвращаемом writer отправляет сообщение журнала с установкой и уровнем важности (из priority) и тегом. Если tag пусто, используется os.Args[0]. Если network пусто, Dial подключается к локальному серверу syslog. В противном случае, см. документацию по net.Dial для допустимых значений network и raddr.

Пример

Код:

sysLog, err := syslog.Dial("tcp", "localhost:1234",
    syslog.LOG_WARNING|syslog.LOG_DAEMON, "demotag")
if err != nil {
    log.Fatal(err)
}
fmt.Fprintf(sysLog, "This is a daemon warning with demotag.")
sysLog.Emerg("And this is a daemon emergency with demotag.")

func New

func New(priority Priority, tag string) (*Writer, error)

New устанавливает новое соединение с демоном системного журнала. Каждая запись в возвращаемом writer отправляет сообщение журнала с заданным приоритетом (комбинацией системной установки syslog и уровня важности) и префиксом тега. Если tag пусто, используется os.Args[0].

func (*Writer) Alert

func (w *Writer) Alert(m string) error

Alert записывает сообщение с уровнем важности LOG_ALERT, игнорируя уровень важности, заданный в New.

func (*Writer) Close

func (w *Writer) Close() error

Close закрывает соединение с демоном syslog.

func (*Writer) Crit

func (w *Writer) Crit(m string) error

Crit записывает сообщение с уровнем важности LOG_CRIT, игнорируя уровень важности, заданный в New.

func (*Writer) Debug

func (w *Writer) Debug(m string) error

Debug записывает сообщение с уровнем важности LOG_DEBUG, игнорируя уровень важности, заданный в New.

func (*Writer) Emerg

func (w *Writer) Emerg(m string) error

Emerg записывает сообщение с уровнем важности LOG_EMERG, игнорируя уровень важности, заданный в New.

func (*Writer) Err

func (w *Writer) Err(m string) error

Err записывает сообщение с уровнем важности LOG_ERR, игнорируя уровень важности, заданный в New.

func (*Writer) Info

func (w *Writer) Info(m string) error

Info записывает сообщение с уровнем важности LOG_INFO, игнорируя уровень важности, заданный в New.

func (*Writer) Notice

func (w *Writer) Notice(m string) error

Notice записывает сообщение с уровнем важности LOG_NOTICE, игнорируя уровень важности, заданный в New.

func (*Writer) Warning

func (w *Writer) Warning(m string) error

Warning записывает сообщение с уровнем важности LOG_WARNING, игнорируя уровень важности, заданный в New.

func (*Writer) Write

func (w *Writer) Write(b []byte) (int, error)

Write отправляет сообщение журнала в демон syslog.

Ошибки

  • ☞

    Этот пакет не реализован в Windows. Поскольку пакет syslog заморожен, пользователям Windows рекомендуется использовать пакет за пределами стандартной библиотеки. Для справки см. https://golang.org/issue/1108.

  • ☞

    Этот пакет не реализован в Plan 9.

© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
http://golang.org/pkg/log/syslog/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API