Goの標準logでdebug出力する

Goには標準でlogというパッケージが含まれています。
このlogパッケージにはよくあるログレベル別の関数が実装されていません。

ヘルパー関数にPrint [f | ln]、Fatal [f | ln]、およびPanic [f | ln]が実装されています。

ログレベル別に分けて出力する必要がある場合、別のパッケージを使用、または拡張する必要が出てきます。

ただ別パッケージを使うほどの規模でも無いこともあり、
golang/goのmessage.goで実装されているコードを使用しました。

参照元
github.com

var debug = debugT(false)

type debugT bool

func (d debugT) Printf(format string, args ...interface{}) {
	if d {
		log.Printf(format, args...)
	}
}

デバッグのログ出力したい箇所に下記を記述

debug.Printf("[debug] %s", hoge)

便利