go实用小技能-自定义log输出格式

dogo_小小人物 · · 9804 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

我们在使用go开发项目的时候,常常需要使用log包输出日志,go自带的log包默认输入格式为:时间+内容。

其实go还提供了几个很简单的输出选项


const (
	
	Ldate         = 1 << iota     // 日期:  2009/01/23
	Ltime                         // 时间:  01:23:23
	Lmicroseconds                 // 微秒:  01:23:23.123123.
	Llongfile                     // 路径+文件名+行号: /a/b/c/d.go:23
	Lshortfile                    // 文件名+行号:   d.go:23
	LUTC                          // 使用标准的UTC时间格式 
	LstdFlags     = Ldate | Ltime // 默认
)

 

package main

import (
	"log"
)

func main() {
	Ldefault()
	Ldate()
	Ltime()
	Lmicroseconds()
	Llongfile()
	Lshortfile()
	LUTC()
}

func Ldefault() {
	log.Println("这是默认的格式\n")
}

func Ldate() {
	log.SetFlags(log.Ldate)
	log.Println("这是输出日期格式\n")
}

func Ltime() {
	log.SetFlags(log.Ltime)
	log.Println("这是输出时间格式\n")
}

func Lmicroseconds() {
	log.SetFlags(log.Lmicroseconds)
	log.Println("这是输出微秒格式\n")
}

func Llongfile() {
	log.SetFlags(log.Llongfile)
	log.Println("这是输出路径+文件名+行号格式\n")
}

func Lshortfile() {
	log.SetFlags(log.Lshortfile)
	log.Println("这是输出文件名+行号格式\n")
}

func LUTC() {
	log.SetFlags(log.Ldate | log.Ltime | log.Lmicroseconds | log.LUTC)
	log.Println("这是输出 使用标准的UTC时间格式 格式\n")
}

运行效果

欢迎加入 dogo 技术交流群:437274005 点击右侧按钮快捷加入


有疑问加站长微信联系(非本文作者)

本文来自:开源中国博客

感谢作者:dogo_小小人物

查看原文:go实用小技能-自定义log输出格式

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

9804 次点击  
加入收藏 微博
1 回复  |  直到 2021-09-28 11:17:07
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传