zap 接收 gin 框架默认的日志
前面两篇已经为大家介绍了golang中的日志如何使用,并在诸多日志框架库中选择了zap作为我们的日志框架,本篇将会讲解:
如何结合当下主流的Web框架gin进行请求日志的打印
对zap进行二次封装,注入trace信息,一遍我们可以在业务中查询一次请求的所有完整日志
这里是前两篇的链接:
http ...
Zap日志库实践
本文详细介绍了非常流行的 Uber 开源的 zap 日志库,同时介绍了如何搭配 Lumberjack、Rotatelogs 实现日志的切割和归档。
1、日志需求我们重温一下一个好的日志记录器都需要能够提供下面哪些功能?
良好日志写入性能
支持不同的日志级别。并且可分离成多个日志文件
多输出 - 同 ...
Golang日志入门与技术选型
参考文档:https://liwenzhou.com/posts/Go/zap/
无论是软件开发的调试阶段还是软件上线之后的运行阶段,日志一直都是非常重要的一个环节,我们也应该养成在程序中记录日志的好习惯。Go 语言内置的log包实现了简单的日志服务。本文介绍了标准库log的基本使用和第三日志库 ...
软件研发过程中的5种最常见的图
一、背景软件研发过程中,我们常有如下的困惑:
有时我们需要设计一个较大型的业务系统,或者做一个开源项目,我们该如何将这个系统的整体功能、逻辑细节一层层描述清楚呢?
我们接手了一个大型复杂的系统,该如何一点点从宏观到微观的去梳理整个功能流转的脉络呢?
通过简单绘制系统的架构图、各模块之间的接口交互 ...
最佳实践之Golang错误处理
1、原生错误处理Go 语言通过内置的错误接口提供了非常简单的错误处理机制。error类型是一个接口类型,这是它的定义:type error interface { Error() string}
我们可以在编码中通过实现 error 接口类型来生成错误信息。函数通常在最后的返回值中返回错误信 ...
《一文教会你如何进行Golang服务优化》
1、概述嗨喽,大家好呀!我是简凡,一位游走于各互联网大厂间的新时代农民工。对于C端在线业务,服务的稳定性和吞吐量常常是评估一个系统的重要指标,所以本文将从以下4点进行展开,逐步讲解golang中如何进行性能优化。
为什么要做性能优化
性能优化基础
优化思路
常见的优化场景
2、性能优化的目的(W ...
《后端从入门到熟悉-正式篇》
嗨喽,大家好呀!我是简凡,一位游走于各互联网大厂间的新时代农民工。从本篇开始,我开始按照企业对于后端开发者的需求层级,将成长阶段拆分为入门、初级、中级、高级、史诗级,逐步深入的为大家介绍后端的学习内容,下面开始正题。
一、前期准备首先说前期准备,承接序言中的观点,为了让每一轮的知识学习更加扎实,也为 ...
《后端从入门到熟悉-序言》
一、写在前面的话嗨喽,大家好呀!我是简凡,一位游走于各互联网大厂间的新时代农民工。这是我初写博客的第一个系列,做为曾经编程小白我,也经历了长期的困惑迷惘,想学点什么做点什么,但又无从下手😂 。所以想在此分享下这一路走来的成长之路,希望能帮助到正在观看文章的你。为了让成长变得更加可以操作,所以我不想 ...
redis缓存一致性问题
在高并发的情况下,如果当删除完缓存的时候,这时去更新数据库,但还没有更新完,另外一个请求来查询数据,发现缓存里没有,就去数据库里查,以商品库存为例,如果数据库中产品的库存是100,那么查询到的库存是100,然后插入缓存,插入完缓存后,原来那个更新数据库的线程把数据库更新为了99,导致数据库与缓存不一 ...
线上服务的FGC问题排查
简介这篇文章,我将以一个FGC频繁的线上案例作为引子,详细介绍下GC的排查过程,另外会结合GC的运行原理给出一份实践指南,希望对你有所帮助。内容分成以下3个部分:
从一次FGC频繁的线上案例说起
GC的运行原理介绍
排查FGC问题的实践指南
从一次FGC频繁的线上案例说起去年10月份,我们的广告 ...