最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
golang log简单使用例子详解
时间:2015-12-03 编辑:简简单单 来源:一聚教程网
golang log标准库实现了简单日志服务。但不支持log分类、分级、过滤等复杂功能。由第三方库如glog(Github)、seelog(Github)
简单demo如下:
package main
import (
"log"
"os"
)
func main() {
file,err := os.Create("test.log")
if err != nil {
log.Fatalln("fail to create test.log file!")
}
defer file.Close()
logger := log.New(file, "info:", log.LstdFlags|log.Lshortfile)
logger.Println("this is phpddt.com testing")//info:2015/11/15 01:11:48 test.go:17: this is phpddt.com testing
}
可见,指定prefix可实现简单的分级。
通过查看源码可见logger结构:
type Logger struct {
mu sync.Mutex // ensures atomic writes; protects the following fields
prefix string // prefix to write at beginning of each line
flag int // properties
out io.Writer // destination for output
buf []byte // for accumulating text to write
}
日志格式flag的常量:
const (
Ldate = 1 << iota // the date in the local time zone: 2009/01/23
Ltime // the time in the local time zone: 01:23:23
Lmicroseconds // microsecond resolution: 01:23:23.123123. assumes Ltime.
Llongfile // full file name and line number: /a/b/c/d.go:23
Lshortfile // final file name element and line number: d.go:23. overrides Llongfile
LUTC // if Ldate or Ltime is set, use UTC rather than the local time zone
LstdFlags = Ldate | Ltime // initial values for the standard logger
)
go-log.pnggolang log实现了三类接口:
print 一般消息输出
fatal强行退出
panic 输出log后进行panic
相关文章
- 最简单的摄影技巧分享 07-05
- ps怎么简单的制作云雾效果 07-04
- 迅捷流程图如何设计一个简单组员表格 06-28
- JAVA简单工厂模式(从现实生活角度理解代码原理) 06-27
- Word简单使用的小技巧 06-19
- PS最简单 最基础知识介绍 06-16