问题由来以前出现panic问题,我们会习惯通过日志给出的代码行,在对比数据分析问题,如果推断不出来,我们会多加日志,重新panic,再继续定位。如果打印了很多堆栈日志,但是日志信息不够怎么办,我们总不能加日志等下次重现后再定位吧?这样定位bug的工作效率特别低,所以我们可以仔细阅读堆栈日志,结合打印的日志快速定位bug。在阅读堆栈日志时,可能我们会疑惑:为什么定义是这样:
func TestSta
转载
2024-08-27 15:58:40
42阅读
gin:一个快速的http web framework,基于httprouter封装的,包含了日志处理、错误返回、验证处理、数据格式返回、文件上传、websocket支持、clientip支持、cookie支持。服务入口:gin.go engine.ServeHTTP(),这个会调用Next方法,第一个调用的就是日志middleware,Next中会调用具体的handlers,这个过程
原创
2023-03-19 15:13:33
476阅读
# 如何在Golang中使用Gin框架实现WebSocket
在本篇文章中,我们将介绍如何在Golang中使用Gin框架实现WebSocket功能。WebSocket是一种在单个TCP连接上提供全双工通信的网络协议,适用于实时的数据传输场景。Gin框架是一个快速的Go Web框架,我们将结合使用这两者来实现WebSocket功能。
## 步骤
下面是我们实现WebSocket功能的步骤:
原创
2024-05-06 10:36:56
238阅读
# 使用 Go 和 Gin 框架访问 MongoDB 的简单教程
在现代 web 开发中,Go 语言因其高性能和简洁的语法而广受欢迎。与此同时,Gin 框架提供了一种快速构建 web 应用程序的方式,而 MongoDB 则是一个流行的 NoSQL 数据库。在本篇文章中,我们将介绍如何使用 Go 和 Gin 访问 MongoDB,并提供简单的代码示例。
## 前期准备
在开始之前,请确保你已安
原创
2024-09-09 06:07:29
129阅读
# Golang Gin 架构简介
## 什么是 Golang Gin 架构
Golang Gin 是一个轻量级的 Web 框架,用于构建高性能的 Web 应用程序。它提供了快速的路由器和中间件功能,使得开发者可以快速搭建起一个稳健的 Web 服务。Gin 框架基于 Golang 的性能和易用性,是目前很受欢迎的 Web 开发框架之一。
## Gin 架构示例
下面是一个简单的示例,展示了
原创
2024-05-02 04:45:57
89阅读
gin框架好用,轮子也多,我也来丰富下内容,golang框架gin的日志处理和zap lumberjack日志使用。
原创
2022-10-22 07:18:57
1134阅读
glog简介glog是著名的google开源C++日志库glog的golang版本,glog是一个轻量级的日志库,上手简单不需要配置文件并且稳定高效,但是可以自定义控制的内容就少了。 glog主要有以下几个特点: 1. glog有四种日志等级INFO < WARING < ERROR < FATAL,不同等级的日志是打印到不同文件的,低等级的日志文件中(INF
转载
2023-08-18 18:35:40
329阅读
垃圾回收垃圾回收器一直是被诟病最多,也是整个运行中改进最努力的部分。所有变化都是为了缩短STW时间,提高程序实时性。大事记:2014年6月 1.3并发清理2015年8月 1.5三色并发标记上述并发是指垃圾回收和用户逻辑并发执行。Golang GC按照官方的说法,Golang GC的基本特征是“非分代、非紧缩、写屏障、并发标记清理”。The GC runs concurrently with mut
转载
2024-04-15 19:43:32
61阅读
package util import ( "crypto/md5" "encoding/hex" "fmt" "os" "runtime" "strconv" "time" ) var strCGroupLogID string = "" func LogRecord(msg string, le
原创
2021-05-27 11:10:08
1891阅读
GinWeb是基于HTTP协议进行交互的应用网络。Web就是通过使用浏览器/APP访问服务器的各种资源。Gin介绍Go的Web框架分两派:一派是基于标准库net/http的,比如 gin-gonic/gin,labstack/echo,astaxie/beego一派是基于valyala/fasthttp的,更偏向于性能,比如 kataras/ iris , gofiber/fiber目前 gola
原创
2023-05-13 15:07:11
753阅读
gin是目前golang的主要web框架之一,之所以选择这个框架是因为其拥有高效的路由性能,并且有人长期维护,目前github上的star数已经破3W。 [安装] go get -u github.com/gin-gonic/gin 基础使用: package main import ( "gith
原创
2022-08-26 15:30:41
265阅读
今天开始学习gin框架,在Github上找的示例的go-gin-example, 进度 日期 进展 疑惑 进展
原创
2022-08-20 22:46:41
328阅读
# 使用 Go 的 Gin 框架与 MongoDB 实现分页功能
在进行 Web 开发时,分页是一项常见的需求。本文将介绍如何在 Go 语言中使用 Gin 框架和 MongoDB 实现分页功能。
## 流程概览
| 步骤 | 描述 |
|------|---------------------------|
| 1 | 设置 Gin 和 Mon
原创
2024-10-17 11:54:51
146阅读
这种也不是常用的,常用的其实是传递参数的方式。比如系统是单集群,那么这种就不需要传参了。
原创
2023-04-08 09:14:43
262阅读
Golang 标准库 reflect1. 概念1.1 什么是反射1.2 反射的三大定律1.2.1 第一定律1.2.2 第二定律1.2.3 第三定律2. 类型(Type)2.1 Type和Kind的区别2.2 方法 `Type.Elem()`2.3 辅助判断方法2.4 结构体3. 值(Value)3.1 通过反射,修改内容3.2 通道对象设置3.3 空接口判断3.4 结构体3.5 结构体匿名字段或
1. 模板 在写动态页面的网站的时候,我们常常将不变的部分提出成为模板,可变部分通过后端程序的渲染来生成动态网页,golang提供了html/template包来支持模板渲染。这篇文章不讨论golang后端的模板读取及渲染方法,只讨论模板中嵌入变量,渲染变量、循环等一些基本用法。 2. 变量 在golang渲染template的时候,可以接受一个interface{}类型的变量,我们
1. pprof生成CPU和memory profile前段时间项目中遇到golang程序的性能上不去,想要找到程序的性能瓶颈所在,使用golang自带的pprof输出cpu和mem的profile文件进行分析。 具体如何生成profile文件参考如下:https://golang.org/pkg/runtime/pprof/https://blog.golang.org/profiling-go
转载
2023-11-20 08:16:59
251阅读
我们刚开始用gin的时候,在控制台会看到每个http请求的接口都会打印,如果接口调用频率不高也无所谓,可是如果接口调用频率很高,那这些打印就会影响到我们查看正常的日志。对我们调试上造成不小的影响
原创
2021-07-30 14:43:05
4927阅读
Cookie 返回请求中提供的命名 cookie,如果未找到则返回 ErrNoCookie。并返回命名的 cookie 是未转义的。如果多个 cookie 与
原创
2023-10-03 09:30:34
276阅读
ShouldBindQuery
原创
2022-06-19 01:11:15
2424阅读