golang 程序日志记录

package mainimport ("flag""fmt""log""os""runtime"
)var (logFileName = flag.String("log", "cServer.log", "Log file name")
)func main() {runtime.GOMAXPROCS(runtime.NumCPU())flag.Parse()//set logfile StdoutlogFile, logErr := os.OpenFile(*logFileName, os.O_CREATE|os.O_RDWR|os.O_APPEND, 0666)if logErr != nil {fmt.Println("Fail to find", *logFile, "cServer start Failed")os.Exit(1)}log.SetOutput(logFile)log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)//write loglog.Printf("Server abort! Cause:%v \n", "test log file")}

说明:

一、在主程序启动之前初始化log的格式后,以后用log.xxx 都将记录在初始的cServer.log文件中

二、上面的初始化的格式在log文件显示为:

2013/03/19 10:44:26 main.go:29: Server abort! Cause:test log file
2013/03/19 10:44:27 main.go:29: Server abort! Cause:test log file

三、可以通过log.SetFlags()自定议你想要表达的格式

//Flag可以是以下值,或以下值或的值。Ldate               // 形如 2009/01/23 的日期
Ltime               // 形如 01:23:23   的时间
Lmicroseconds       // 形如 01:23:23.123123   的时间
Llongfile           // 全路径文件名和行号: /a/b/c/d.go:23
Lshortfile          // 文件名和行号: d.go:23

四、设置输出目的地log.SetOutput()

五、os.OpenFile(*logFileName, os.O_CREATE|os.O_RDWR|os.O_APPEND, 0666)这是创建log文件.

  1. 如果log文件不存在,创建一个新的文件os.O_CREATE
  2. 打开文件的读写os.O_RDWR
  3. 将log信息写入到log文件,是继承到当前log文件,不是覆盖os.O_APPEND
  4. log文件的权限位0666(即所有用户可读写)

golang 日志输出相关推荐

  1. golang日志输出

    golang 程序日志记录 package mainimport ("flag""fmt""log""os"" ...

  2. 9 个技巧,解决 K8s 中的日志输出问题

    作者 | 元乙  阿里云存储服务技术专家 导读:近年来,越来越多的同学咨询如何为 Kubernetes 构建一个日志系统,或者是来求助在此过程中遇到一系列问题如何解决,授人以鱼不如授人以渔,于是作者想 ...

  3. 关于如何收集,标准化和集中化处理Golang日志的一些建议

    依赖分布式系统的公司组织和团队经常使用Go语言编写其应用程序,以利用Go语言诸如通道和goroutine之类的并发功能.如果你负责研发或运维Go应用程序,则考虑周全的日志记录策略可以帮助你了解用户行为 ...

  4. 关于收集,标准化和集中化处理Golang日志的一些建议

    依赖分布式系统的公司组织和团队经常使用Go语言编写其应用程序,以利用Go语言诸如通道和goroutine之类的并发功能.如果你负责研发或运维Go应用程序,则考虑周全的日志记录策略可以帮助你了解用户行为 ...

  5. golang debug 配置_新鲜出炉的golang日志库

    新鲜出炉的golang日志记录库 https://github.com/zxysilent/logs​github.com 功能 日志等级 DEBUG.INFO.WARN.ERROR.FATAL 每天 ...

  6. 介绍 Golang 日志处理

    介绍 Golang 日志处理 本文介绍Go语言的Log包及其API,通过示例让你轻松掌握日志处理. 1. 概述 日志文件一般用于记录操作系统或其他软件运行时发生的事件,或通信软件不同用户之间的消息.日 ...

  7. Python之向日志输出中添加上下文信息

    除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息.比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如:远程客户端的IP地址和用户名.这里我们 ...

  8. python日志输出到屏幕,python日志写入文件

    python日志输出到屏幕,python日志写入文件 日志 日志是跟踪软件运行时所发生的事件的一种方法.软件开发者在代码中调用日志函数,表明发生了特定的事件.事件由描述性消息描述,该描述性消息可以可选 ...

  9. 基于单例模式的日志输出(C++)

    原文:https://blog.csdn.net/giser_mxd/article/details/75557410 在软件运行中,系统一般会采用一个持久化的日志系统来记录运行情况.本题你需要实现一 ...

最新文章

  1. C++ 类的内存分布
  2. 深度学习目标检测模型全面综述:Faster R-CNN、R-FCN和SSD
  3. 万字长文带你看尽深度学习中的各种卷积网络
  4. 2018-2019 ACM—ICPC SEERC 题解
  5. Maxim推出上/下变频SiGe混频器MAX2042
  6. PInvoke在 2.0 3.0的时候正常 升级到4.0后出错。
  7. W3cschool 离线手册下载资源
  8. TDA4VM芯片手册阅读笔记
  9. Android开发者如何删除手机自带应用
  10. Spring Boot自定义starter
  11. 苹果Mac优化清理工具CleanMyMac X2023版本
  12. Blender设置:如何把编辑模式下的顶点显示调大
  13. 所有浏览器主页都变成hao123,hao123劫持浏览器(亲测有效)
  14. 让window10停止更新的办法
  15. 着被拍红的手,咯咯一
  16. java 帕斯卡,帕斯卡三角 有多少种可能,java编程 帕斯卡三角形 立刻求高手!! 给满分...
  17. 网页中播放flash视频
  18. CF 15D Map
  19. 一分钟攻破ADSL 盗遍宽带密码(转)
  20. web前端开发与应用——表格

热门文章

  1. 用 Flask 来写个轻博客 (37) — 在 Github 上为第一阶段的版本打 Tag
  2. 【清华集训2016】数据交互
  3. eclipse添加maven环境
  4. Android基础之一
  5. redis主备同步(使用)
  6. cobertura-maven-plugin
  7. MVC HtmlHelper用法大全
  8. H2DBEngine——Driver的设计与实现
  9. Google 翻译的妙用
  10. lvm实现快速备份文件及数据库,lvm快照原理