如何在golang中使用调试日志

时间:2017-11-27 15:47:57

标签: go

我的应用程序应该使用登录调试状态。即我想要的所有日志 提供就像log.debug

我已经读过它并找到以下内容

perl -i -pe'
    BEGIN {
       my $words_qfn = shift(@ARGV);
       open(my $words_fh, "<", $words_qfn) or die $!;
       chomp( my @words = <$words_fh> );
       my $alt = join "|", map quotemeta, @words;
       $re = qr/^(?:$alt)\b.*\K/;
    }
    s/$re/ */;
' words phrases

我的问题是我应该如何“告诉”现在以调试模式运行的程序 所有的日志都会打印出来,因为我认为这应该来自外面...... 示例将非常有用,因为我是高尔夫球手。

1 个答案:

答案 0 :(得分:0)

使用此功能可以使调试可选:

func debug() {
    debug := flag.Bool("d", false, "Whether debug mode has to be enabled.")

    flag.Parse()

    if *debug {
        logrus.SetLevel(logrus.DebugLevel)
    }
}

并在主要部分调用它:

func main() {
    debug()
    someMethod()
    anotherMethod()
}

发出go run main.go,将返回:

Usage of C:\Users\path\to\exe\main.exe:
  -d    Whether debug mode has to be enabled.
exit status 2

并运行go run main.go -d将激活调试模式并显示调试消息,即logrus.Debug("This message will be shown if debugging mode has been enabled")