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

Go 零依賴結(jié)構(gòu)化日志處理

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

Devslog 是一個(gè)零依賴的結(jié)構(gòu)化日志處理程序,專為 Go 的 log/slog 包設(shè)計(jì),它提供了美觀且?guī)ь伾妮敵?,方便開發(fā)者調(diào)試。

Devslog 輸出

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

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

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

安裝

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

示例

無選項(xiàng)的日志記錄器

import (
 "os"

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

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

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

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

帶自定義選項(xiàng)的日志記錄器

import (
 "os"

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

func main() {
 // 帶選項(xiàng)的新日志記錄器
 opts := &devslog.Options{
  MaxSlicePrintSize: 4,   // 設(shè)置切片最大打印元素?cái)?shù)量
  SortKeys:          true, // 設(shè)置是否按鍵排序?qū)傩?  TimeFormat:        "[04:05]", // 設(shè)置時(shí)間戳格式
  NewLineAfterLog:   true, // 設(shè)置是否在每個(gè)日志后添加空行
  DebugColor:        devslog.Magenta, // 設(shè)置調(diào)試級別的顏色
  StringerFormatter: true, // 設(shè)置是否使用 Stringer 接口進(jìn)行格式化
 }

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

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

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

帶默認(rèn) slog 選項(xiàng)的日志記錄器

import (
 "os"

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

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

 // 帶選項(xiàng)的新日志記錄器
 opts := &devslog.Options{
  HandlerOptions:    slogOpts, // 使用默認(rèn)的 slog.HandlerOptions
  MaxSlicePrintSize: 4,   // 設(shè)置切片最大打印元素?cái)?shù)量
  SortKeys:          true, // 設(shè)置是否按鍵排序?qū)傩?  NewLineAfterLog:   true, // 設(shè)置是否在每個(gè)日志后添加空行
  StringerFormatter: true, // 設(shè)置是否使用 Stringer 接口進(jìn)行格式化
 }

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

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

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

示例用法

import (
 "os"

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

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

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

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

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

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

選項(xiàng)

參數(shù)

描述

默認(rèn)值

類型

MaxSlicePrintSize

指定切片打印的最大元素?cái)?shù)量

50

uint

SortKeys

確定是否按鍵排序?qū)傩?br>

false

bool

TimeFormat

時(shí)間戳格式

"[15:04:05]"

string

NewLineAfterLog

在每個(gè)日志后添加空行

false

bool

StringIndentation

在字符串中縮進(jìn) \n

false

bool

DebugColor

調(diào)試級別的顏色

devslog.Blue

devslog.Color (uint)

InfoColor

信息級別的顏色

devslog.Green

devslog.Color (uint)

WarnColor

警告級別的顏色

devslog.Yellow

devslog.Color (uint)

ErrorColor

錯(cuò)誤級別的顏色

devslog.Red

devslog.Color (uint)

MaxErrorStackTrace

錯(cuò)誤的最大堆棧跟蹤幀數(shù)

0

uint

StringerFormatter

使用 Stringer 接口進(jìn)行格式化

false

bool

NoColor

禁用彩色輸出

false

bool

總結(jié)

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

責(zé)任編輯:武曉燕 來源: 源自開發(fā)者
相關(guān)推薦

2024-02-01 13:30:53

Go語言開發(fā)

2024-03-01 01:25:40

結(jié)構(gòu)化日志可讀性

2018-04-03 14:00:03

結(jié)構(gòu)化數(shù)據(jù)非結(jié)構(gòu)化數(shù)據(jù)數(shù)據(jù)庫

2023-10-07 00:10:27

日志格式函數(shù)

2017-12-06 15:46:31

深度學(xué)習(xí)結(jié)構(gòu)化數(shù)據(jù)NLP

2021-12-12 08:37:18

結(jié)構(gòu)化數(shù)據(jù)非結(jié)構(gòu)化數(shù)據(jù)數(shù)據(jù)

2024-05-27 00:32:45

2023-12-25 15:00:18

結(jié)構(gòu)化布線光纖

2022-05-24 09:52:37

Spark SQL大數(shù)據(jù)處理Hive

2021-12-29 10:51:19

JavaSPL架構(gòu)

2010-01-13 13:20:08

VB.NET結(jié)構(gòu)化異常

2011-03-01 09:39:51

結(jié)構(gòu)化布線

2009-10-21 15:20:28

結(jié)構(gòu)化布線技術(shù)

2009-10-15 13:49:23

結(jié)構(gòu)化布線系統(tǒng)

2023-07-25 17:21:20

綜合布線結(jié)構(gòu)化布線

2022-07-04 22:08:52

結(jié)構(gòu)化數(shù)據(jù)谷歌

2012-02-08 15:54:05

ibmdw

2009-10-16 12:55:27

結(jié)構(gòu)化布線系統(tǒng)

2023-12-05 08:47:30

Pandas數(shù)據(jù)處理

2015-12-04 10:26:31

java結(jié)構(gòu)化集合運(yùn)算
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 中文字幕久久精品 | 日日操视频 | 中文字幕av在线播放 | 一区在线播放 | 免费永久av | 国产伦精品一区二区三区精品视频 | 成人三级av | 国产做a爱免费视频 | 亚洲精品二区 | 美日韩精品 | 国产美女特级嫩嫩嫩bbb片 | 久久av资源网 | 亚洲一区国产 | 日韩一区二区在线播放 | 亚洲九色 | 国产成人综合网 | 欧美v在线 | 国产激情一区二区三区 | 精品国产欧美 | 夜夜夜夜夜夜曰天天天 | 亚洲欧美视频一区 | 亚洲a在线观看 | 国产三级精品视频 | 亚洲第一黄色网 | 黄色av网站免费看 | 精品国产免费人成在线观看 | 日韩视频a| 做a网站 | 欧美1—12sexvideos | 成人福利视频网站 | 亚洲色图插插插 | va精品 | 成人免费在线视频 | 国产日韩欧美在线 | 欧美成人一区二区三区 | 欧美日韩亚洲在线 | 免费永久av | 久久久久国产一区二区三区 | 精品二区| 国产乱码精品一区二区三区五月婷 | 天堂av中文|