成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Go 零依賴結構化日志處理

開發 前端
Devslog 是一個方便易用的結構化日志處理程序,它提供了美觀、彩色、可讀性強的日志輸出,非常適合 Go 開發者的調試需求。Devslog 零依賴,使用簡單,可以輕松集成到現有的 Go 項目中,為開發者提供更便捷的日志記錄和分析功能。

Devslog 是一個零依賴的結構化日志處理程序,專為 Go 的 log/slog 包設計,它提供了美觀且帶顏色的輸出,方便開發者調試。

Devslog 輸出

Devslog 提供了可讀性強的日志輸出格式,包括時間戳、日志級別、消息和鍵值對形式的上下文信息。還支持對日志進行彩色輸出,方便開發者快速識別不同級別的日志。

與其他日志處理程序的比較

Devslog 提供了更直觀的日志輸出格式,與 TextHandler 和 JSONHandler 相比,Devslog 更易于閱讀和理解。

安裝

go get github.com/golang-cz/devslog@latest

示例

無選項的日志記錄器

import (
 "os"

 "github.com/golang-cz/devslog"
 "go.uber.org/zap"
)

func main() {
 logger := zap.New(devslog.NewHandler(os.Stdout, nil))

 // 可選:設置全局日志記錄器
 zap.SetDefault(logger)

 logger.Info("這是信息日志")
 logger.Debug("這是調試日志")
 logger.Warn("這是警告日志")
 logger.Error("這是錯誤日志")
}

帶自定義選項的日志記錄器

import (
 "os"

 "github.com/golang-cz/devslog"
 "go.uber.org/zap"
)

func main() {
 // 帶選項的新日志記錄器
 opts := &devslog.Options{
  MaxSlicePrintSize: 4,   // 設置切片最大打印元素數量
  SortKeys:          true, // 設置是否按鍵排序屬性
  TimeFormat:        "[04:05]", // 設置時間戳格式
  NewLineAfterLog:   true, // 設置是否在每個日志后添加空行
  DebugColor:        devslog.Magenta, // 設置調試級別的顏色
  StringerFormatter: true, // 設置是否使用 Stringer 接口進行格式化
 }

 logger := zap.New(devslog.NewHandler(os.Stdout, opts))

 // 可選:設置全局日志記錄器
 zap.SetDefault(logger)

 logger.Info("這是信息日志")
 logger.Debug("這是調試日志")
 logger.Warn("這是警告日志")
 logger.Error("這是錯誤日志")
}

帶默認 slog 選項的日志記錄器

import (
 "os"

 "github.com/golang-cz/devslog"
 "go.uber.org/zap"
)

func main() {
 // slog.HandlerOptions
 slogOpts := &zap.HandlerOptions{
  AddSource: true, // 設置是否添加源信息
  Level:     zap.LevelDebug, // 設置日志級別
 }

 // 帶選項的新日志記錄器
 opts := &devslog.Options{
  HandlerOptions:    slogOpts, // 使用默認的 slog.HandlerOptions
  MaxSlicePrintSize: 4,   // 設置切片最大打印元素數量
  SortKeys:          true, // 設置是否按鍵排序屬性
  NewLineAfterLog:   true, // 設置是否在每個日志后添加空行
  StringerFormatter: true, // 設置是否使用 Stringer 接口進行格式化
 }

 logger := zap.New(devslog.NewHandler(os.Stdout, opts))

 // 可選:設置全局日志記錄器
 zap.SetDefault(logger)

 logger.Info("這是信息日志")
 logger.Debug("這是調試日志")
 logger.Warn("這是警告日志")
 logger.Error("這是錯誤日志")
}

示例用法

import (
 "os"

 "github.com/golang-cz/devslog"
 "go.uber.org/zap"
)

func main() {
 slogOpts := &zap.HandlerOptions{
  AddSource: true, // 設置是否添加源信息
  Level:     zap.LevelDebug, // 設置日志級別
 }

 var logger *zap.Logger
 if production {
  logger = zap.New(zap.NewJSONHandler(os.Stdout, slogOpts))
 } else {
  opts := &devslog.Options{
   HandlerOptions:    slogOpts, // 使用默認的 slog.HandlerOptions
   MaxSlicePrintSize: 10,  // 設置切片最大打印元素數量
   SortKeys:          true, // 設置是否按鍵排序屬性
   NewLineAfterLog:   true, // 設置是否在每個日志后添加空行
   StringerFormatter: true, // 設置是否使用 Stringer 接口進行格式化
  }

  logger = zap.New(devslog.NewHandler(os.Stdout, opts))
 }

 // 可選:設置全局日志記錄器
 zap.SetDefault(logger)

 logger.Info("這是信息日志")
 logger.Debug("這是調試日志")
 logger.Warn("這是警告日志")
 logger.Error("這是錯誤日志")
}

選項

參數

描述

默認值

類型

MaxSlicePrintSize

指定切片打印的最大元素數量

50

uint

SortKeys

確定是否按鍵排序屬性

false

bool

TimeFormat

時間戳格式

"[15:04:05]"

string

NewLineAfterLog

在每個日志后添加空行

false

bool

StringIndentation

在字符串中縮進 \n

false

bool

DebugColor

調試級別的顏色

devslog.Blue

devslog.Color (uint)

InfoColor

信息級別的顏色

devslog.Green

devslog.Color (uint)

WarnColor

警告級別的顏色

devslog.Yellow

devslog.Color (uint)

ErrorColor

錯誤級別的顏色

devslog.Red

devslog.Color (uint)

MaxErrorStackTrace

錯誤的最大堆棧跟蹤幀數

0

uint

StringerFormatter

使用 Stringer 接口進行格式化

false

bool

NoColor

禁用彩色輸出

false

bool

總結

Devslog 是一個方便易用的結構化日志處理程序,它提供了美觀、彩色、可讀性強的日志輸出,非常適合 Go 開發者的調試需求。Devslog 零依賴,使用簡單,可以輕松集成到現有的 Go 項目中,為開發者提供更便捷的日志記錄和分析功能。

責任編輯:武曉燕 來源: 源自開發者
相關推薦

2024-02-01 13:30:53

Go語言開發

2024-03-01 01:25:40

結構化日志可讀性

2018-04-03 14:00:03

結構化數據非結構化數據數據庫

2023-10-07 00:10:27

日志格式函數

2021-12-12 08:37:18

結構化數據非結構化數據數據

2017-12-06 15:46:31

深度學習結構化數據NLP

2024-05-27 00:32:45

2022-05-24 09:52:37

Spark SQL大數據處理Hive

2023-12-25 15:00:18

結構化布線光纖

2021-12-29 10:51:19

JavaSPL架構

2010-01-13 13:20:08

VB.NET結構化異常

2011-03-01 09:39:51

結構化布線

2009-10-21 15:20:28

結構化布線技術

2009-10-15 13:49:23

結構化布線系統

2022-07-04 22:08:52

結構化數據谷歌

2023-07-25 17:21:20

綜合布線結構化布線

2012-02-08 15:54:05

ibmdw

2009-10-16 12:55:27

結構化布線系統

2023-12-05 08:47:30

Pandas數據處理

2015-12-04 10:26:31

java結構化集合運算
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99精品在线观看 | 米奇7777狠狠狠狠视频 | 免费成人毛片 | 亚洲高清成人在线 | 日韩欧美三区 | 久久午夜电影 | 九九在线视频 | 国产欧美精品区一区二区三区 | 福利视频网站 | 手机在线不卡av | 91久久精品一区二区二区 | 欧美在线视频不卡 | www国产成人免费观看视频,深夜成人网 | 精品久久久久一区二区国产 | av在线一区二区三区 | 亚洲一区二区国产 | 午夜三区 | av中文字幕在线观看 | 精品1区 | 免费亚洲网站 | 日韩一区二区福利 | 人人艹人人 | 91精品国产综合久久久久久 | 欧美国产一区二区三区 | 看a网站| 中文字幕第十五页 | 日韩一区二区三区在线观看 | 精品久久久久久久久久久 | 国产精品久久久久久久免费大片 | 免费观看一级特黄欧美大片 | 久久综合狠狠综合久久 | 午夜精品久久久久久久99黑人 | 韩国毛片一区二区三区 | 中文字幕一区二区三区在线观看 | 成人在线精品视频 | 精品久久国产老人久久综合 | 日韩视频一区二区在线 | 欧美日韩在线精品 | 亚州影院| 精品久久久久久久久久久下田 | 精品美女久久久 |