早速、logパッケージを使用してログを標準エラー出力に出力してみましょう。
package main
import (
"log"
"os"
)
func main() {
name := "fkm"
logger := log.New(os.Stderr, "[ERROR]", log.LstdFlags|log.Lshortfile)
logger.Printf("Failed to login name=%s", name)
}
重要なのは2行だけですね。
logger := log.New(os.Stderr, "[ERROR]", log.LstdFlags|log.Lshortfile)
logger.Printf("Failed to login name=%s", name)
log.New()関数でLoggerオブジェクトを作成します。
* 第1引数には出力先となるWriterオブジェクトを渡します。ここをFileに対するWriterにすれば、ファイルに出力してくれます。* 第2引数には各行の先頭につけるPrefixを指定します。* 第3引数にはオプションをorでつないだものを指定します。LstdFlagsは日付と時刻を追加するオプションです。
Printf()メソッドで実際にログを出力します。Printfなので%sなどが使えます。
これを実行すると、下記のようなログが出ます。
[ERROR]2014/07/06 14:59:53 log.go:12: Failed to login name=fkm