<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] # 簡介 本文介紹Go 標準庫 log 的常用導出函數,結構體及方法。 ~~~ import log ~~~ log 包實現了簡單的日志服務,log 包定義了Logger類型,該類型提供了一些格式化輸出的方法。本包也提供了一個預定義的“標準”Logger,可以通過輔助函數Print[f|ln]、Fatal[f|ln]和Panic[f|ln]訪問,比手工創建一個Logger對象更容易使用。Logger會打印每條日志信息的日期、時間,默認輸出到標準錯誤。Fatal系列函數會在寫入日志信息后調用os.Exit(1)。Panic系列函數會在寫入日志信息后調用panic。 # Logger 結構體 Logger 結構體定義: ~~~ type Logger struct { mu sync.Mutex // ensures atomic writes; protects the following fields prefix string // prefix to write at beginning of each line flag int // properties out io.Writer // destination for output buf []byte // for accumulating text to write } ~~~ Logger 類型表示一個記錄日志的對象,它會生成一行行的輸出寫入一個io.Writer 接口。每一條日志操作會調用一次io.Writer 接口的Write 方法。Logger 類型的對象可以被多個線程安全的同時使用,它會保證對io.Writer 接口的順序訪問。 * func New(out io.Writer, prefix string, flag int) *Logger // 創建一個Logger, out設置日志信息寫入的目的地, prefix 添加到生成的每一條日志前面, flag定義日志的屬性 * func (l *Logger) Flags() int // Flags返回logger的輸出選項 * func (l *Logger) SetFlags(flag int) // SetFlags設置logger的輸出選項 * func (l *Logger) Prefix() string // Prefix返回logger的輸出前綴 * func (l *Logger) SetPrefix(prefix string) // SSetPrefix設置logger的輸出前綴 * func (l *Logger) Output(calldepth int, s string) error // 輸出一條日志 * func (l *Logger) Printf(format string, v ...interface{}) // 將生成的格式化字符串輸出到out * func (l *Logger) Fatal(v ...interface{}) // Fatal等價于{l.Print(v…); os.Exit(1)} * func (l *Logger) Panic(v ...interface{}) // Panic等價于{l.Print(v…); panic(…)} # log 導出函數 log 導出函數基于預定義的 std 變量 var std = New(os.Stderr, "", LstdFlags) 實現。 * func Flags() int // 獲取預定義“標準”日志輸出屬性 * func Prefix() string // 獲取預定義“標準”日志前綴 * func SetOutput(w io.Writer) // 設置預定義“標準”日志輸出位置 * func Print(v ...interface{}) // 打印一條標準日志 # 代碼示例 ~~~ // go 標準庫 log package main import ( "fmt" "log" "os" ) func main() { logger := log.New(os.Stdout, "a log:", log.Lshortfile) logger.SetFlags(log.Llongfile) fmt.Println(logger.Flags()) // 8 logger.SetPrefix("debug:") fmt.Println(logger.Prefix()) // debug: logger.Print("hello, log file") err := logger.Output(2, "world") fmt.Println(err) logger.Printf("%v\t%v", "hello", "go") // logger.Fatal("fatal log") // logger.Panic("Panic log") // 使用預定義日志類型 fmt.Println(log.Flags()) // 3 fmt.Println(log.Prefix()) // '' log.Print("hello predefine log") // 2017/03/04 16:34:27 hello predefine log } ~~~
                  <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>

                              哎呀哎呀视频在线观看