...

パッケージ syslog

import "log/syslog"
概要
目次

概要 ▾

syslog パッケージはシステムログサービスへのシンプルなインターフェースを提供します。 UNIX ドメインソケット,UDP あるいは TCP を使ってsyslog デーモンにメッセージを送信します。

Dial への呼び出しは 1 回だけ必要です。 書き込みが失敗すると, syslog クライアントはサーバーへの再接続と再書き込みを試みます。

syslog パッケージは凍結されており,新しい機能を受け入れていません。 いくつかの外部パッケージはより多くの機能を提供します。 以下を参照してください:

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

func NewLogger

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

NewLogger は,指定された優先度 (syslog 機能と重大度の組み合わせ) でシステムログサービスに出力が書き込まれる log.Logger を作成します。 logFlag 引数は, log.New に渡されるフラグセットで, ロガーを作成するために使用されます。

type Priority

Priority (プライオリティ) は, syslog 機能と重大度の組み合わせです。 例えば, LOG_ALERT | LOG_FTP は, FTP 機能からアラート重大度メッセージを送信します。 デフォルトの重大度は LOG_EMERG です。 デフォルトの機能は LOG_KERN です。

type Priority int
const (

    // /usr/include/sys/syslog.h から。
    // これらは, Linux, BSD ,および OS X でも同じです。
    LOG_EMERG Priority = iota
    LOG_ALERT
    LOG_CRIT
    LOG_ERR
    LOG_WARNING
    LOG_NOTICE
    LOG_INFO
    LOG_DEBUG
)
const (

    // /usr/include/sys/syslog.h から。
    // これらは Linux , BSD , OS X の LOG_FTP まで同じです。
    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
)

type Writer

Writer は syslog サーバーへの接続です。

type Writer struct {
    // エクスポートされていないフィールドがあります
}

func Dial

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

Dial は,指定されたネットワーク上のアドレス raddr に接続することによってログデーモンへの接続を確立します。 返されたライターへの各書き込みは,ファシリティと重大度 (優先度から) およびタグを含むログメッセージを送信します。 tag が空の場合は, os.Args[0] が使用されます。 ネットワークが空の場合, 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 は,システムログデーモンへの新しい接続を確立します。 返されたライターへの各書き込みは,指定された優先順位 (syslog 機能と重大度の組み合わせ) と接頭部タグを持つログメッセージを送信します。 tag が空の場合は, os.Args[0] が使用されます。

func (*Writer) Alert

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

Alert は, New に渡された重大度を無視して,重大度 LOG_ALERT でメッセージをログに記録します。

func (*Writer) Close

func (w *Writer) Close() error

Close は syslog デーモンへの接続を閉じます。

func (*Writer) Crit

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

Crit は, New に渡された重大度を無視して,重大度 LOG_CRIT でメッセージをログに記録します。

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 は, New に渡された重大度を無視して,重大度 LOG_EMERG でメッセージをログに記録します。

func (*Writer) Err

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

Err は, New に渡された重大度を無視して,重大度 LOG_ERR でメッセージをログに記録します。

func (*Writer) Info

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

Info は, New に渡された重大度を無視して,重大度 LOG_INFO でメッセージをログに記録します。

func (*Writer) Notice

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

Notice は, New に渡された重大度を無視して,重大度 LOG_NOTICE のメッセージをログに記録します。

func (*Writer) Warning

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

Warning は,重大度 LOG_WARNING でメッセージをログに記録し,新規に渡された重大度は無視します。

func (*Writer) Write

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

Write は,ログメッセージを syslog デーモンに送信します。

Bugs