golang-zerolog

本文介绍 zerolog,一个专为JSON输出设计的快速简易日志库。演示了如何设置日志级别,使用zerolog进行日志记录,并展示了字符串读写、文件操作等基本功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

The zerolog package provides a fast and simple logger dedicated to JSON output.

 

 

 

 

package main
import(
	"fmt"
	"io"
	"io/ioutil"
	"strings"
	"os"
	"github.com/rs/zerolog"
	"github.com/rs/zerolog/log"
	"flag"
)
func main(){
	//Stings
	r :=strings.NewReader("Hello World")
	fmt.Println(r.Len())
	var buf []byte
	buf = make([]byte,5)
	
	read_len,err := r.Read(buf) //读取到buf中
	fmt.Println("读取到的长度:" ,read_len)
	
	if err!= nil {
		fmt.Println("cuowu",err)
	}
	fmt.Println(buf)
	fmt.Println(r.Len())  //返回未读的字符串长度
	fmt.Println(r.Size()) //总的字符串长度

	//读取给定偏移off字节后的剩余信息到b中
	bufAt := make([]byte,128)
	r.ReadAt(bufAt,7)
	fmt.Println(string(bufAt))
	fmt.Println(r.Len())  //返回未读的字符串长度

	//偏移
    bufSeekv :=make([]byte,5)
	r.Seek(-2,io.SeekCurrent)
	r.Read(bufSeekv)
	fmt.Println(string(bufSeekv))

	//ReadAll 读取r中的所有数据
	s :=strings.NewReader("mingming")
	ra, _ :=ioutil.ReadAll(s)

	fmt.Printf("%s", ra)

	//WriteFile 向文件 filename中写入数据
	fn := "c:\\Test.text"
	ss :=[]byte("hello!")
	ioutil.WriteFile(fn, ss, os.ModeAppend)
	rf, _ :=ioutil.ReadFile(fn)
	fmt.Printf("%s\n",rf)
	
	// zerolog使用,设置日志等级
    zerolog.TimeFieldFormat = zerolog.TimeFormatUnix
	log.Info().Msg("hello world")
	debug :=flag.Bool("debug" ,false , "sets log lebel to debug")
	flag.Parse()
	zerolog.SetGlobalLevel(zerolog.InfoLevel)
	if *debug {
		zerolog.SetGlobalLevel(zerolog.DebugLevel)
	}
	log.Debug().Msg("this happen when log level set to Debug")
	log.Info().Msg("this happen shen log level set to Debug")
	if e :=log.Debug(); e.Enabled() {
		value := "bar"
		e.Str("foo",value).Msg("some debug message")
	}
   // 使用logger 
   logger  :=zerolog.New(os.Stderr).With().Timestamp().Logger()
   logger.Info().Str("foo","bar").Msg("hello world!")
} 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值