博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Golang的日志处理
阅读量:6088 次
发布时间:2019-06-20

本文共 1177 字,大约阅读时间需要 3 分钟。

整个看了一圈下来,感觉Golang的日志包在管理多线程安全的情况下,提供了最小粒度的工具。并没有提供什么复杂的过滤器之类的生成。

实现了一个demo来记录一下日志分类日志打印等实现:

package mainimport (    "log"    "os"    "io/ioutil"    "io")var (    Trace   *log.Logger // 记录所有日志    Info    *log.Logger // 重要的信息    Warning *log.Logger // 需要注意的信息    Error   *log.Logger // 致命错误)func init() {    file, err := os.OpenFile("file", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)    if err != nil {        log.Fatalln("Failed to open error log file:", err)    }    Trace = log.New(ioutil.Discard, "TRACE: ", log.Ltime|log.Lshortfile)    Info = log.New(os.Stdout, "Info: ", log.Ltime|log.Lshortfile)    Warning = log.New(os.Stdout, "Warning: ", log.Ltime|log.Lshortfile)    Error = log.New(io.MultiWriter(file, os.Stderr),  "Error", log.Ltime|log.Lshortfile)}func main() {    Trace.Println("I have something standard to say")    Info.Println("Special Information")    Warning.Println("There is something you need to know about")    Error.Println("Something has failed")}

其实给我感觉跟python没差,还简单很多。

首先还是申明一个logger对象,用他来调用各种logger的方法,一开始初始化了几个级别的日志logger收集器。

随后就是new一个新的logger并将地址返回分配给它们。这种日志管理的方法真给人一种很清爽的感觉,而且外面可以基于这些最基础的东西再做二次的定制。也非常灵活。后面写东西会尝试多用用看。再来补这篇文章。先占个坑

to be continue...

 

转载地址:http://nhpwa.baihongyu.com/

你可能感兴趣的文章
quicksort
查看>>
【BZOJ2019】nim
查看>>
LINUX内核调试过程
查看>>
【HDOJ】3553 Just a String
查看>>
Java 集合深入理解(7):ArrayList
查看>>
2019年春季学期第四周作业
查看>>
linux环境配置
查看>>
tomcat指定配置文件路径方法
查看>>
linux下查看各硬件型号
查看>>
epoll的lt和et模式的实验
查看>>
Flux OOM实例
查看>>
07-k8s-dns
查看>>
Android 中 ListView 分页加载数据
查看>>
oracle启动报错:ORA-00845: MEMORY_TARGET not supported on this system
查看>>
Go方法
查看>>
Dapper丶DapperExtention,以及AbpDapper之间的关系,
查看>>
搞IT的同学们,你们在哪个等级__那些年发过的帖子
查看>>
且谈语音搜索
查看>>
MySQL数据库导入导出常用命令
查看>>
低版本Samba无法挂载
查看>>