Golang: glog 的使用
基本用法
- 创建 test.go
package mainimport "github.com/golang/glog"func main() {glog.Info("Testing glog.")glog.Flush() }
- 运行
go run test.go
- 检查 /tmp 目录,出现了两个新的文件
ll /tmp/ total 4 -rw-r--r--. 1 root root 264 Jan 18 13:29 test.{host}.{user}.log.INFO.{date} lrwxrwxrwx. 1 root root 64 Jan 18 13:29 test.INFO -> test.{host}.{user}.log.INFO.{date}
- 查看 test.INFO 的内容
Log file created at: {date} Running on machine: {host} Binary: Built with gc go1.9 for linux/amd64 Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg I0118 13:29:20.878522 16625 test.go:6] Testing glog.
log 等级
基本的 log 等级分为4类:Info, Warning, Error, Fatal.
Flush
log 产生后,会暂存在内存的buffer中。只有显示的调用 glog.Flush(), 数据才会真正被写入文件。glog package 的 init 函数中启动了一个 go routine 用来周期性的调用 glog.Flush() 来保证数据被写入文件, 默认的 Flush 周期为30 秒。
当程序运行至 glog.Fatal() 时, glog package 中保证了在退出前程序前会将所有缓存中的log写入文件。但是对于 Info, Warning 以及 Error, 如果程序正常退出,那么在程序退出前 30 秒的 log 就会丢失。defer 可以被用来防止这种情况的发生。
package mainimport "github.com/golang/glog"func main() {defer glog.Flush()glog.Info("Testing glog.")
}
参考文献
- https://godoc.org/github.com/golang/glog
Golang: glog 的使用相关推荐
- golang glog文件名命令_Golang开发的全功能单文件Web服务器
最新HTTP/2标准已经发布,是基于谷歌QUIC的技术升级而成.虽然标准已经发布,但是目前还鲜有应用支持,那么有没有方法进行技术尝鲜呢?答案是肯定的.本文虫虫给大家介绍一个Golang Web服务器应 ...
- Go的日志模块glog调研笔记
glog简介 glog是著名的google开源C++日志库glog(https://github.com/google/glog)的golang版本,glog是一个轻量级的日志库,上手简单不需要配置文 ...
- Golang modules 初探
2019独角兽企业重金招聘Python工程师标准>>> 今天天色刚刚亮起,起床看到golang 1.11正式发版了,有着两个重要的特性:modules和WebAssembly. 本博 ...
- Golang实践录:工程管理
本文介绍Golang的工程管理. 工程概述 GOPATH目录下创建三个目录: src 存放源代码,每个工程一个单独的目录 pkg 编译过后生成的包文件存放目录,根据平台有不同目录,里面有许多.a库,暂 ...
- golang gopher-lua 遍历table元素
前言 gopher-lua中也有c++中的lua.next函数,不过目前我没有查到gopher-lua的next函数用法,因此这里用的是func (ls *LState) ForEach(tb *LT ...
- golang 引入外部包的三种方式:go get, go module, vendor目录
import "github.com/astaxie/beego" 编译出错解决方案: go get:确保你的GOPATH是工程目录,代码在src目录下,然后在命令提示符中输入:g ...
- 【Golang】关于Go中logrus的用法
一.标准日志库log 在日常开发中,日志是必不可少的功能.虽然有时可以用fmt库输出一些信息,但是灵活性不够.Go 标准库提供了一个日志库log. 1.快速使用 log是 Go 标准库提供的,不需要另 ...
- goudp文件传输服务器,golang实现ftp实时传输文件的案例
一.项目简介 本项目主要实现的功能是ftp客户端不断地将xml文件和jpg文件实时地上传到服务器,当然也可以是其他格式的文件.每当ftp客户端取到一个文件之后,将文件上传到服务器后,然后将其删除. 项 ...
- golang实现ftp实时传输文件
一.项目简介 本项目主要实现的功能是ftp客户端不断地将xml文件和jpg文件实时地上传到服务器,当然也可以是其他格式的文件.每当ftp客户端取到一个文件之后,将文件上传到服务器后,然后将其删除.项目 ...
最新文章
- iOS中的UIAlertView之新方法(弹出警告框)
- php %3f,PHP
- Android 工程的创建
- 项目学生:使用AOP简化代码
- 在MongoDB的MapReduce上踩过的坑
- 安全认证Kerberos
- spring-boot 整合redis作为数据缓存
- android系统各种版本所占市场比例
- 51单片机电路原理图_51单片机AD转换电路设计实现
- android怎么垂直居中,【Android】水平居中 垂直居中 中心居中
- 机器人学之动力学笔记【11】—— 拉格朗日 动力学方程
- 陈春花:创造价值 做好产品
- 漫步微积分三十二——两条曲线间的面积
- mysql数据库地址 名称_数据库地址和名称是什么?怎么知道自己地址和名称?
- Python数据分析-北京房价分析
- 捣鼓车间 | 学生获奖作品:戒烟帽
- C++描述 104.仓库选址
- 读取手机内存和SD卡的空间大小
- OutputStreamWriter的基本使用
- 2023年华为认证H12-821、H12-831考试指南(包括学习视频和题库)