9

golangソースコードでログディレクトリを設定/変更する方法を知っている人はいますか? -log_dir=コマンドラインではなく、ソースコードでログディレクトリを設定したい

4

4 に答える 4

20

これは私が横たわっているのを見たハックです: コードでフラグを設定します。コードからログレベルを設定するのにも非常に適しています。

package main

import (
    "flag"

    "github.com/golang/glog"
)

func main() {
    flag.Parse()
    glog.Info("hi_a")
    flag.Lookup("logtostderr").Value.Set("true")
    glog.Info("hi_b")

    flag.Lookup("log_dir").Value.Set("/path/to/log/dir")

    glog.V(4).Info("v4a")
    flag.Lookup("v").Value.Set("10")
    glog.V(4).Info("v4b")
    //etc.    
}

>>> hi_b
>>> v4b
于 2015-01-29T12:05:37.977 に答える
1

変数logDirは glog パッケージに実際に存在しますhttps://github.com/golang/glog/blob/master/glog_file.go#L41 エクスポートされていません。したがって、glog のインスタンスのソースで変更できます。少しハックですが、難しくはありません。

于 2015-01-29T10:50:17.657 に答える