[toc] logrus介绍 golang标准库的日志框架非常简单,仅仅提供了print,panic和fatal三个函数。对于更精细的日志级别、日志文件分割,以及日志分发等方面,并没有提供支持。在golang的世界,流行的日志框架包括logrus、zap、zerolog、seelog等。 logru ...
分类:
其他好文 时间:
2020-01-09 01:28:20
阅读次数:
907
Go语言中的常量使用关键字 const 定义,常量类型:布尔型、数字型(整数型、浮点型和复数)和字符串 1、const name [type] = value (类型说明符 [type]可以省略) 2、使用 const 常量的 iota 来模拟枚举类型 3、%d、%s、%b 、%T (十进制、字符型 ...
分类:
其他好文 时间:
2020-01-07 13:24:25
阅读次数:
89
一,go 语言 panic 报错捕获 使用 go 语言的同学在真实项目中应该经常出现空指针使用等 panic 报错,这类报错与 C++ 中的 try-catch 模块不同,go 语言会一直将当前 panic 一直从报错栈传至最外层的栈,所以很多 go 语言的架构都会在架构中 handler 的入口添 ...
分类:
其他好文 时间:
2019-11-26 23:12:22
阅读次数:
212
Array(数组) 数组是同一种数据类型元素的集合。 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。 基本语法: // 定义一个长度为3元素类型为int的数组a var a [3]int 数组定义: var 数组变量名 [元素数量]T 比如:var a [5]int ...
分类:
编程语言 时间:
2019-11-17 18:08:12
阅读次数:
67
panic: 1.报告致命错误的一种方式,如:数组访问越界,空指针引用等。2.panic异常发生时,程序会中断运行。 import "fmt" func testa() { fmt.Println("aaaaaaaaa") } func testb(i int) { fmt.Println("bbb ...
分类:
其他好文 时间:
2019-11-11 00:21:53
阅读次数:
88
概述首先同步下项目概况:上篇文章分享了,路由中间件 - 日志记录,这篇文章咱们分享:路由中间件 - 捕获异常。当系统发生异常时,提示 “系统异常,请联系管理员!”,并发送 panic 告警邮件。什么是异常?在 Go 中异常就是 panic,它是在程序运行的时候抛出的,当 panic 抛出之后,如果在 ...
1.错误处理 如果要写出健壮 ,易维护的代码 ,错误处理就是关键 ,考虑到可能会发生的意外对其进行处理 go的错误处理与众不同 ,在调用可能出现问题的方法和函数时都会返回一个类型为error的值 ,由调用者去决定如何处理错误 错误是一个值类型error ,零值为nil 2.接受错误类型 可能文件资源 ...
分类:
其他好文 时间:
2019-10-28 20:41:45
阅读次数:
137
https://javapipe.com/blog/iptables-ddos-protection/ kernel.printk = 4 4 1 7 kernel.panic = 10 kernel.sysrq = 0 kernel.shmmax = 4294967296 kernel.shmal ...
分类:
系统相关 时间:
2019-10-27 18:47:56
阅读次数:
156
1. defer(1)defer用于将某个方法或语句推迟到当前函数返回的最后一刻执行,一般用于释放某些已分配的资源。函数返回的最后一刻指的是,return语句更新返回值变量之后,函数返回之前,所以defer语句甚至可用于修改函数的返回值。(2)若defer语句中嵌套了多层函数调用,只是最后一层函数调 ...
分类:
其他好文 时间:
2019-10-27 12:46:08
阅读次数:
99
PANIC: could not locate a valid checkpoint record
日志:无效的主要检查点记录
postgres 集群故障修复
分类:
其他好文 时间:
2019-10-24 10:22:59
阅读次数:
122