目录

  • 效果
  • 安装
  • 配置
  • 使用

效果

安装

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使用记录相关推荐

  1. Go语言日志库zerolog

    Go语言日志库zerolog 在开发大型项目时,将日志进行结构化以提高可读性.可查询性和速度是非常重要的. 为什么你选择不使用其他结构化日志库,如logrus或zap? Zerolog 是一款高性能且 ...

  2. golang debug 配置_新鲜出炉的golang日志库

    新鲜出炉的golang日志记录库 https://github.com/zxysilent/logs​github.com 功能 日志等级 DEBUG.INFO.WARN.ERROR.FATAL 每天 ...

  3. Golang日志库Zap基本使用

    Zap Uber-go Zap简介 Zap Logger Logger Sugared Logger 配置Logger New函数详情 JSON Encoder Log Encoder 更改时间编码 ...

  4. golang 日志库seelog 笔记

    之前做服务的时候一直在用seelog作为日志输出的库,用了一段时间发现还是挺好用的,最近有时间就来总结一下. 我这边用到的seelog一般都是将程序中的一些信息输入到日志文件中,方便调试和维护程序.日 ...

  5. GoLang各种库(转)

    原文出处:https://www.jianshu.com/p/6a147fc00721 golang用于创建和发送电子邮件的库 douceur - HTML 邮件中的内联 CSS email - 一个 ...

  6. Golang高性能日志库zap + lumberjack 日志切割组件详解

    文章篇幅较长,可以先收藏防止迷路~ 目录 zap日志库 1. why zap? 2. 简单使用 3. 自定义logger例子 4. Gin项目使用zap 6. lumberjack 日志切割组件 za ...

  7. Golang一日一库之 日志库 zap

    简介 在开发过程中 会使用到日志库去记录错误的日志,尤其是golang中 有无穷无尽的error 如果不记录,当你的代码出错,就无从排错了. zap 是开源的 Go 高性能日志库 主要有以下特点: 支 ...

  8. golang高性能日志库zap的使用

    本文作者:陈进坚 个人博客:https://jian1098.github.io CSDN博客:https://blog.csdn.net/c_jian 简书:https://www.jianshu. ...

  9. php日志 monolog,Laravel 集成的 Monolog 库对日志进行配置和记录实例

    本文章为各位介绍一篇关于Laravel 集成的 Monolog 库对日志进行配置和记录的实例,具体的如下希望对各位吸帮助. 对于大型系统而言,日志是不可或缺的模块,Laravel自然也对日志提供了完善 ...

最新文章

  1. Spring 的微内核与FactoryBean扩展机制--转载
  2. 磁盘 io 的性能指标 简介
  3. [转]springmvc常用注解标签详解
  4. rhel配置磁盘分区_rhel配置磁盘分区_centos系统三套硬盘分区方案[图文设置版]
  5. BF算法和KMP算法实现
  6. 图像配准系列之基于FFD形变与LM算法的图像配准
  7. 路由交换技术vlan、trunk、单臂路由、三层交换、链路聚合、STP
  8. rtthread学习之(2)——STM32 系列外设驱动添加指南
  9. BUCK电感工作模式
  10. 后缀表达式(简单示例)
  11. 当潮流突破次元空间,你能想象吗?欢迎来到一个叫“人物动漫化”的程序
  12. 如何生成java dump文件
  13. 物理服务器与云服务器的区别
  14. Day7 零基础python入门100天Udemy训练营-Hangman Game 继续学习import, if else, while loop, for loop
  15. 探究KVO的底层实现原理
  16. 车载、行车记录仪产品知识汇集
  17. 最值得推荐的6个物联网开发平台
  18. 前端HTML字体和文本样式
  19. 微商和微信营销遇到的问题 转载
  20. Android各类权限意思祥解

热门文章

  1. 强制性产品认证车辆一致性证书二维码解析
  2. PC傻瓜式安装黑苹果并打造成全能逆向工作站
  3. python 本地离线安装whl文件
  4. DataStage(ETL)技术总结 -- 介绍篇
  5. 基于VC++的3D地形绘制与纹理贴图
  6. 如何插入文献及交叉引用
  7. 电脑被锁解决方法5种方法解除开机密码
  8. jar包+注册码 破解Jetbrains IDEA 2017.2.1版本
  9. 【自动驾驶】缓和曲线---clothoid回旋曲线
  10. 复旦大学、华东师大回应