Skip to content

ログ出力制御

Go標準のlogパッケージにはログレベル別の文言出力機能がないため、ログ出力制御を行うパッケージを作成します。

実装例

internal/logging

ログレベルごとに関数を定義します。

go
package logging

import "log"

func Info(message string) {
	log.Println("INFO: " + message)
}

func Warn(message string) {
	log.Println("WARN: " + message)
}

func Error(message string) {
	log.Println("ERROR: " + message)
}

internal/usecase

上記関数を呼び出してログ出力します。

go
func (u *sampleUsecase) Greeting(name string) (string, error) {

	if name == "" {
		logging.Error("Empty name") // ERRORログ出力
		return "", apperrors.NewSampleError("Empty name")
	}

	logging.Info("Success") // INFOログ出力
	return "Hello, " + name + "!", nil
}