golang日志库zerolog使用记录
目录
- 效果
- 安装
- 配置
- 使用
效果
安装
github官方地址:https://github.com/rs/zerolog
go get -u github.com/rs/zerolog/log
配置
分享下自己用的,有特殊需求的自己看下官方文档,更全面。
需求是: 把日志同时往控制台和日志文件里输出,日志文件用日期每日分拆。
建了log包单独封装。
log.go
package logimport ("fmt""github.com/rs/zerolog""os""strings""time"
)var Logger zerolog.Loggerfunc init() {timeFormat := "2006-01-02 15:04:05"zerolog.TimeFieldFormat = timeFormat// 创建log目录logDir := "./run_log/"err := os.MkdirAll(logDir, os.ModePerm)if err != nil {fmt.Println("Mkdir failed, err:", err)return}fileName := logDir + time.Now().Format("2006-01-02") + ".log"logFile, _ := os.OpenFile(fileName, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)consoleWriter := zerolog.ConsoleWriter{Out: os.Stdout, TimeFormat: timeFormat}consoleWriter.FormatLevel = func(i interface{}) string {return strings.ToUpper(fmt.Sprintf("| %-6s|", i))}consoleWriter.FormatMessage = func(i interface{}) string {return fmt.Sprintf("%s", i)}consoleWriter.FormatFieldName = func(i interface{}) string {return fmt.Sprintf("%s:", i)}consoleWriter.FormatFieldValue = func(i interface{}) string {return fmt.Sprintf("%s;", i)}multi := zerolog.MultiLevelWriter(consoleWriter, logFile)Logger = zerolog.New(multi).With().Timestamp().Logger()
}
使用
使用时引入自己项目下的log包并且用包里的 Logger
输出。
import "myproject/log"func SignIn(){log.Logger.Info().Str("website", "xx").Str("account", account).Msg("开始登录...")
}
golang日志库zerolog使用记录相关推荐
- Go语言日志库zerolog
Go语言日志库zerolog 在开发大型项目时,将日志进行结构化以提高可读性.可查询性和速度是非常重要的. 为什么你选择不使用其他结构化日志库,如logrus或zap? Zerolog 是一款高性能且 ...
- golang debug 配置_新鲜出炉的golang日志库
新鲜出炉的golang日志记录库 https://github.com/zxysilent/logsgithub.com 功能 日志等级 DEBUG.INFO.WARN.ERROR.FATAL 每天 ...
- Golang日志库Zap基本使用
Zap Uber-go Zap简介 Zap Logger Logger Sugared Logger 配置Logger New函数详情 JSON Encoder Log Encoder 更改时间编码 ...
- golang 日志库seelog 笔记
之前做服务的时候一直在用seelog作为日志输出的库,用了一段时间发现还是挺好用的,最近有时间就来总结一下. 我这边用到的seelog一般都是将程序中的一些信息输入到日志文件中,方便调试和维护程序.日 ...
- GoLang各种库(转)
原文出处:https://www.jianshu.com/p/6a147fc00721 golang用于创建和发送电子邮件的库 douceur - HTML 邮件中的内联 CSS email - 一个 ...
- Golang高性能日志库zap + lumberjack 日志切割组件详解
文章篇幅较长,可以先收藏防止迷路~ 目录 zap日志库 1. why zap? 2. 简单使用 3. 自定义logger例子 4. Gin项目使用zap 6. lumberjack 日志切割组件 za ...
- Golang一日一库之 日志库 zap
简介 在开发过程中 会使用到日志库去记录错误的日志,尤其是golang中 有无穷无尽的error 如果不记录,当你的代码出错,就无从排错了. zap 是开源的 Go 高性能日志库 主要有以下特点: 支 ...
- golang高性能日志库zap的使用
本文作者:陈进坚 个人博客:https://jian1098.github.io CSDN博客:https://blog.csdn.net/c_jian 简书:https://www.jianshu. ...
- php日志 monolog,Laravel 集成的 Monolog 库对日志进行配置和记录实例
本文章为各位介绍一篇关于Laravel 集成的 Monolog 库对日志进行配置和记录的实例,具体的如下希望对各位吸帮助. 对于大型系统而言,日志是不可或缺的模块,Laravel自然也对日志提供了完善 ...
最新文章
- Spring 的微内核与FactoryBean扩展机制--转载
- 磁盘 io 的性能指标 简介
- [转]springmvc常用注解标签详解
- rhel配置磁盘分区_rhel配置磁盘分区_centos系统三套硬盘分区方案[图文设置版]
- BF算法和KMP算法实现
- 图像配准系列之基于FFD形变与LM算法的图像配准
- 路由交换技术vlan、trunk、单臂路由、三层交换、链路聚合、STP
- rtthread学习之(2)——STM32 系列外设驱动添加指南
- BUCK电感工作模式
- 后缀表达式(简单示例)
- 当潮流突破次元空间,你能想象吗?欢迎来到一个叫“人物动漫化”的程序
- 如何生成java dump文件
- 物理服务器与云服务器的区别
- Day7 零基础python入门100天Udemy训练营-Hangman Game 继续学习import, if else, while loop, for loop
- 探究KVO的底层实现原理
- 车载、行车记录仪产品知识汇集
- 最值得推荐的6个物联网开发平台
- 前端HTML字体和文本样式
- 微商和微信营销遇到的问题 转载
- Android各类权限意思祥解