<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          go-loggergolang 日志處理庫

          聯(lián)合創(chuàng)作 · 2023-09-30 00:37

          go-logger 是golang 的高性能日志庫


          日志級(jí)別打?。?/h4>

          調(diào)用 Debug(),Info(),Warn(), Error() ,Fatal() 級(jí)別由低到高

          設(shè)置日志打印格式:

          如: SetFormat(FORMAT_SHORTFILENAME|FORMAT_DATE|FORMAT_TIME)

          FORMAT_SHORTFILENAME|FORMAT_DATE|FORMAT_TIME 為默認(rèn)格式

          不調(diào)用SetFormat()時(shí),使用默認(rèn)格式

          不格式化,只打印日志內(nèi)容		FORMAT_NANO		無格式
          長文件名及行數(shù)			FORMAT_LONGFILENAME	全路徑
          短文件名及行數(shù)			FORMAT_SHORTFILENAME	如:logging_test.go:10
          精確到日期			FORMAT_DATE		如:2023/02/14
          精確到秒				FORMAT_TIME		如:01:33:27
          精確到微秒			FORMAT_MICROSECNDS	如:01:33:27.123456
          

          打印結(jié)果形如:

          [DEBUG]2023/02/14 01:33:27 logging_test.go:10: 11111111111111

          日志級(jí)別

          DEBUG < INFO < WARN < ERROR < FATAL

          關(guān)閉所有日志 SetLevel(OFF)

          說明:

          若設(shè)置 INFO
          如:SetLevel(INFO)
          則 所有 Debug("*********")   不再打印出來
          所以調(diào)試階段,常設(shè)置為默認(rèn)級(jí)別ALL,或DEBUG,打印出項(xiàng)目中所有日志,包括調(diào)試日志
          若設(shè)置 OFF
          SetLevel(OFF)
          則 所有日志不再打印出來
          所以正式環(huán)境,常設(shè)置為ERROR或以上的日志級(jí)別,項(xiàng)目中Debug(),Info(),warn()等日志不再打印出來,具體視實(shí)際需求設(shè)置
          

          需將日志寫入文件時(shí),則要設(shè)置日志文件

          使用全局log對(duì)象時(shí),直接調(diào)用設(shè)置方法:
          
          SetRollingDaily()		按日期分割
          SetRollingByTime()		可按 小時(shí),天,月 分割日志
          SetRollingFile()		指定文件大小分割日志
          SetRollingFileLoop()		指定文件大小分割日志,并指定保留最大日志文件數(shù)
          SetGzipOn(true)			壓縮分割的日志文件 
          

          多實(shí)例:

          log1 := NewLogger()
          log1.SetRollingDaily("", "logMonitor.log")
           
          log12:= NewLogger()
          log2.SetRollingDaily("", "logBusiness.log")
          

          1. 按日期分割日志文件

          log.SetRollingDaily("d:/foldTest", "log.txt")
          每天按 log_20221015.txt格式 分割
          若 log_20221015.txt已經(jīng)存在,則生成 log_20221015.1.txt ,log_20221015.2.txt等文件
          
          log.SetRollingByTime("d:/foldTest", "log.txt",MODE_MONTH)
          按月份分割日志,跨月時(shí),保留上月份日志,如:
          	log_202210.txt
          	log_202211.txt
          	log_202212.txt
          
          log.SetRollingByTime("d:/foldTest", "log.txt",MODE_HOUR)
          按小時(shí)分割日志, 如:
          	log_2022101506.txt
          	log_2022101507.txt
          	log_2022101508.txt
          

          2. 按文件大小分割日志文件

          log.SetRollingFile("d:/foldTest", "log.txt", 300, MB)
          當(dāng)文件超過300MB時(shí),按log.1.txt,log.2.txt 格式備份
          目錄參數(shù)可以為空,則默認(rèn)當(dāng)前目錄。
          
          log.SetRollingFileLoop(`d:/foldTest`, "log.txt", 300, MB, 50) 
          設(shè)置日志文件大小最大為300M
          日志文件只保留最新的50個(gè)
          

          控制臺(tái)日志設(shè)置

          全局log:SetConsole(false)控制臺(tái)不打日志,默認(rèn)值true
          實(shí)例log:log.SetConsole(false)控制臺(tái)不打日志,默認(rèn)值true
          

          打印日志示例:

          //SetRollingFile("", "log.txt", 1000, KB)  設(shè)置日志文件信息
          //SetRollingFileLoop(``, "log.txt", 300, MB, 50)   設(shè)置日志文件大小300M,最多保留50個(gè)最近的日志文件
          //SetRollingByTime(``, "log.txt", MODE_MONTH) 按月份分割日志
          //SetRollingByTime(``, "log.txt", MODE_HOUR)  按小時(shí)分割日志
          //SetRollingByTime(``, "log.txt", MODE_DAY)  按天分割日志與調(diào)用SetRollingDaily("", "log.txt") 作用相同
          
          
          //控制臺(tái)不打印
          // SetConsole(false)
          
          Debug("00000000000")
          //默認(rèn)格式:[DEBUG]2023/07/10 18:40:49 logging_test.go:12: 00000000000
          
          SetFormat(FORMAT_NANO) 
          Debug("111111111111")
          //設(shè)置格式(無格式化):111111111111
          
          SetFormat(FORMAT_LONGFILENAME) 
          Info("22222222")
          //設(shè)置格式(長文件路徑) :[INFO]/usr/log/logging/logging_test.go:14: 22222222
          
          SetFormat(FORMAT_DATE | FORMAT_SHORTFILENAME) 
          Warn("333333333")
          //設(shè)置格式(日期+短文件路徑) :[WARN]2023/07/10 logging_test.go:16: 333333333
          
          SetFormat(FORMAT_DATE | FORMAT_TIME) /
          Error("444444444")
          /設(shè)置格式 :[ERROR]2023/07/10 18:35:19 444444444
          
          SetFormat(FORMAT_SHORTFILENAME)
          Fatal("5555555555")
          //設(shè)置格式 :[FATAL]logging_test.go:21: 5555555555
          
          SetFormat(FORMAT_TIME)
          Fatal("66666666666")
          //設(shè)置格式 :[FATAL]18:35:19 66666666666
          

          校正打印時(shí)間

          //修改TIME_DEVIATION可以校正日志打印時(shí)間,單位納秒
          TIME_DEVIATION 
          
          瀏覽 18
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美操逼视频 | 日本黄色电影在线观看 | 99精品国产麻豆99久久久久久 | 熟女人妻-X88AⅤ | 免费在线观看尻屄视频 |