errorlog

package
v1.3.2 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2019 License: MIT Imports: 9 Imported by: 0

README

エラーログ専用ロギングライブラリ

errorlogライブラリは、loggerライブラリを継承したライブラリ。

package main

import "github.com/ochipin/logger/errorlog"
import "os"

func main() {
    log := &errorlog.Log{}
    log.Format = "%D %T %b[%p]: %f(%m:%l) %L: %M"
    log.Depth = 3
    log.Level = 7

    l, err := log.MakeLog(os.Stderr)
    if err != nil {
        panic(err)
    }

    // ログ情報の出力
    l.Debug("Hello World")
    l.Debugf("%s %d", "Hello World", 200)
    // YYYY-MM-DD HH:MI:SS app[1234]: main.go(main:24) debug: Hello World
    // YYYY-MM-DD HH:MI:SS app[1234]: main.go(main:25) debug: Hello World 200 
}

logger.Logger インターフェース

Loggerインターフェースは、下記エラーログ出力関数を所持するインターフェースである。 このインターフェースは、Log.MakeLog関数から生成される(※1後述)

メソッド 説明
Debug[f] ログレベル7。デバッグメッセージ
Info[f] ログレベル6。通常メッセージ
Notice[f] ログレベル5。通知メッセージ
Warn[f] ログレベル4。警告メッセージ
Error[f] ログレベル3。エラーメッセージ
Crit[f] ログレベル2。重大エラーメッセージ
Alert[f] ログレベル1。緊急でかつ重大なエラーメッセージ
Emerg[f] ログレベル0。呼び出されるとリターンコード127でプログラムを強制終了する

logger.Log 構造体のパラメータ

logger ライブラリに加え、以下のパラメータを追加している。

パラメータ 説明
Format ログフォーマット指定子
Level ログレベル
Depth ソースコード情報を取得する階層
Binname アプリケーション名。無指定の場合は、os.Args[0]のファイル名の部分のみが格納される。

ログフォーマット指定子を設定するFormatは、下記指定子を利用可能。

フォーマット指定子 説明
%D エラーログ出力関数がコールされた日付
%T エラーログ出力関数がコールされた時刻
%L ログレベル(emerg/alert/crit/error/warn/notice/info/debug)
%f エラーログ出力関数がコールされた場所(ソースコードファイル名)
%m エラーログ出力関数がコールされた場所(関数名)
%l エラーログ出力関数がコールされた場所(行番号)
%M エラーログ出力関数に渡したメッセージ内容
%b アプリケーション名
%p プロセスID

logger.Log.MakeLog()

上で述べた、Loggerインターフェースを生成する関数。

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Log

type Log struct {
	logger.Log
	Format  string // ログフォーマット
	Level   int    // ログレベル
	Depth   int    // 実行された関数、行番号等を取得する際に使用する階層
	Binname string // ロードモジュール名
	// contains filtered or unexported fields
}

Log 構造体は、ログ情報を取り扱う構造体

func (*Log) Alert

func (l *Log) Alert(v ...interface{})

Alert : ログレベル1。緊急でかつ重大なエラーに使用する

func (*Log) Alertf

func (l *Log) Alertf(format string, v ...interface{})

Alertf : ログレベル1。緊急でかつ重大なエラーに使用する

func (*Log) Crit

func (l *Log) Crit(v ...interface{})

Crit : ログレベル2。重大エラーに使用する

func (*Log) Critf

func (l *Log) Critf(format string, v ...interface{})

Critf : ログレベル2。重大エラーに使用する

func (*Log) Debug

func (l *Log) Debug(v ...interface{})

Debug : ログレベル7。デバッグメッセージ

func (*Log) Debugf

func (l *Log) Debugf(format string, v ...interface{})

Debugf : ログレベル7。デバッグメッセージ

func (*Log) Emerg

func (l *Log) Emerg(v ...interface{})

Emerg : ログレベル0。呼び出されるとリターンコード127でプログラムを強制終了する

func (*Log) Emergf

func (l *Log) Emergf(format string, v ...interface{})

Emergf : ログレベル0。呼び出されるとリターンコード127でプログラムを強制終了する

func (*Log) Error

func (l *Log) Error(v ...interface{})

Error : ログレベル3。エラー発生時に使用する

func (*Log) Errorf

func (l *Log) Errorf(format string, v ...interface{})

Errorf : ログレベル3。エラー発生時に使用する

func (*Log) GetDepth

func (l *Log) GetDepth() int

GetDepth : Depth 値を取得する

func (*Log) Info

func (l *Log) Info(v ...interface{})

Info : ログレベル6。通常メッセージ

func (*Log) Infof

func (l *Log) Infof(format string, v ...interface{})

Infof : ログレベル6。通常メッセージ

func (*Log) MakeLog

func (l *Log) MakeLog(out *os.File) (Logger, error)

MakeLog : ログ管理構造体を初期化する

func (*Log) Notice

func (l *Log) Notice(v ...interface{})

Notice : ログレベル5。通知メッセージ

func (*Log) Noticef

func (l *Log) Noticef(format string, v ...interface{})

Noticef : ログレベル5。通知メッセージ

func (*Log) Output

func (l *Log) Output(level, depth int, format string, v ...interface{})

Output : ログレベル, 階層値, フォーマット, 出力エラー値などを指定するエラー関数

func (*Log) OutputForPC added in v1.3.2

func (l *Log) OutputForPC(level int, filename, funcname string, line int, format string, v ...interface{})

OutputForPC : ログレベル, フォーマット, 関数名、ファイル名、行番号、出力エラー値などを指定するエラー関数

func (*Log) SetDepth

func (l *Log) SetDepth(depth int)

SetDepth : Depth 値を設定する

func (*Log) Warn

func (l *Log) Warn(v ...interface{})

Warn : ログレベル4。警告メッセージ

func (*Log) Warnf

func (l *Log) Warnf(format string, v ...interface{})

Warnf : ログレベル4。警告メッセージ

type Logger

type Logger interface {
	Emerg(...interface{})
	Emergf(string, ...interface{})
	Alert(...interface{})
	Alertf(string, ...interface{})
	Crit(...interface{})
	Critf(string, ...interface{})
	Error(...interface{})
	Errorf(string, ...interface{})
	Warn(...interface{})
	Warnf(string, ...interface{})
	Notice(...interface{})
	Noticef(string, ...interface{})
	Info(...interface{})
	Infof(string, ...interface{})
	Debug(...interface{})
	Debugf(string, ...interface{})
	Output(int, int, string, ...interface{})
	OutputForPC(int, string, string, int, string, ...interface{})
	GetDepth() int
	SetDepth(int)
}

Logger : ログ管理インタフェース

Jump to

Keyboard shortcuts

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