<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## log 語法 ``` type Logger func New(out io.Writer, prefix string, flag int) *Logger func (l *Logger) Flags() int func (l *Logger) SetFlags(flag int) func (l *Logger) Prefix() string func (l *Logger) SetPrefix(prefix string) func (l *Logger) Output(calldepth int, s string) error func (l *Logger) Printf(format string, v ...interface{}) func (l *Logger) Print(v ...interface{}) func (l *Logger) Println(v ...interface{}) func (l *Logger) Fatalf(format string, v ...interface{}) func (l *Logger) Fatal(v ...interface{}) func (l *Logger) Fatalln(v ...interface{}) func (l *Logger) Panic(v ...interface{}) func (l *Logger) Panicf(format string, v ...interface{}) func (l *Logger) Panicln(v ...interface{}) ``` ### 可以設置日志文件所在位置 當你調用第三方日志庫時,可以通過設置 callpath來確定正確的位置 ``` var ( buf bytes.Buffer logger = log.New(&buf, "INFO: ", log.Lshortfile) // infof callpath 為堆棧層級 // callpath 代表的層級關系 // main ->demo1 ->demo2->demo3->info // 5 ->4 ->3 ->2 ->1 infof = func(info string) { logger.Output(2, info) } ) func demo1() { demo2() } func demo2() { demo3() } func demo3() { infof("Hello world") } func main() { demo1() fmt.Print(buf.String()) } ``` ### log.SetFlags ``` Ldate = 1 << iota Ltime Lmicroseconds Llongfile //顯示覺得路徑 Lshortfile // 顯示文件名 LUTC LstdFlags = Ldate | Ltime // 顯示日期加時間 ``` ``` log.SetFlags(log.Lshortfile | log.Ltime) log.Print("hello wrod") //13:45:38 test.go:16: hello wrod ``` ### log.SetPrefix ``` log.Print("hello world") // 2020/12/27 13:57:08 hello world log.SetPrefix("[debug]") log.Print("hello world") // [debug]2020/12/27 13:57:08 hello world ``` ### log.SetOutput 設置 Writer 重定向到文件 ``` f, err := os.Create("1.log") if err != nil { log.Fatal(err) } defer f.Close() log.Print("err1") log.SetOutput(f) log.Print("err2") log.Panic("err3") ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看