go logger日志庫



logger包介紹

logger支持功能

  • logger支持自定義時間格式;
  • logger支持不同的日志等級輸出,能夠有效提高日志輸出性能和檢索;
  • logger支持控制台+文件+網絡的三種方式輸出,並且可以任意組合;
  • logger支持控制台輸出顏色區分;
  • logger支持文本輸出的自定制;
  • logger支持網絡日志傳輸,例如直連logstash發送;
  • logger支持輸出程序文件名和行數、時間等;

logger日志等級

等級 配置 釋義 控制台顏色
0  EMER  系統級緊急,比如磁盤出錯,內存異常,網絡不可用等  紅色底
1 ALRT 系統級警告,比如數據庫訪問異常,配置文件出錯等 紫色
2 CRIT 系統級危險,比如權限出錯,訪問異常等 藍色
3 EROR 用戶級錯誤 紅色
4 WARN 用戶級警告 黃色
5 INFO 用戶級重要 天藍色
6 DEBG 用戶級調試 綠色
TRAC 用戶級基本輸出,比如成員信息,結構體值等 綠色

logger安裝

go get github.com/wonderivan/logger

  

簡單使用

package main
import "logger"
 
func main() {
	logger.Trace("this is Trace") // 由於默認輸出,只會在控制台輸出Debug及其以上日志,所以該條不會輸出
	logger.Debug("this is Debug")
	logger.Info("this is Info")
	logger.Warn("this is Warn")
	logger.Error("this is Error")
	logger.Crit("this is Critical")
	logger.Alert("this is Alert")
	logger.Emer("this is Emergency")
}

  

參數配置

參數

{
    "TimeFormat":"2006-01-02 15:04:05", // 輸出日志開頭時間格式
    "Console": {            // 控制台日志配置
        "level": "TRAC",    // 控制台日志輸出等級
        "color": true       // 控制台日志顏色開關 
    },
    "File": {                   // 文件日志配置
        "filename": "app.log",  // 初始日志文件名
        "level": "TRAC",        // 日志文件日志輸出等級
        "daily": true,          // 跨天后是否創建新日志文件,當append=true時有效
        "maxlines": 1000000,    // 日志文件最大行數,當append=true時有效
        "maxsize": 1,           // 日志文件最大大小,當append=true時有效
        "maxdays": -1,          // 日志文件有效期
        "append": true,         // 是否支持日志追加
        "permit": "0660"        // 新創建的日志文件權限屬性
    },
    "Conn": {                       // 網絡日志配置
        "net":"tcp",                // 日志傳輸模式
        "addr":"10.1.55.10:1024",   // 日志接收服務器
        "level": "Warn",            // 網絡日志輸出等級
        "reconnect":true,           // 網絡斷開后是否重連
        "reconnectOnMsg":false,     // 發送完每條消息后是否斷開網絡
    }
}

如何參數配置

由兩種方式配置
通過調用logger.SetLogger(config string)方法設置參數,config支持json配置,也支持指定內容為json配置的文件路徑,例如:

  • 通過配置參數直接配置
logger.SetLogger(`{"Console": {"level": "DEBG"}}`)
  • 通過配置文件配置
logger.SetLogger("/home/log.json")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM