golang日志输出
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文件.
- 如果log文件不存在,创建一个新的文件os.O_CREATE
- 打开文件的读写os.O_RDWR
- 将log信息写入到log文件,是继承到当前log文件,不是覆盖os.O_APPEND
- log文件的权限位0666(即所有用户可读写)
golang日志输出相关推荐
- golang 日志输出
golang 程序日志记录 package mainimport ("flag""fmt""log""os"" ...
- 9 个技巧,解决 K8s 中的日志输出问题
作者 | 元乙 阿里云存储服务技术专家 导读:近年来,越来越多的同学咨询如何为 Kubernetes 构建一个日志系统,或者是来求助在此过程中遇到一系列问题如何解决,授人以鱼不如授人以渔,于是作者想 ...
- 关于如何收集,标准化和集中化处理Golang日志的一些建议
依赖分布式系统的公司组织和团队经常使用Go语言编写其应用程序,以利用Go语言诸如通道和goroutine之类的并发功能.如果你负责研发或运维Go应用程序,则考虑周全的日志记录策略可以帮助你了解用户行为 ...
- 关于收集,标准化和集中化处理Golang日志的一些建议
依赖分布式系统的公司组织和团队经常使用Go语言编写其应用程序,以利用Go语言诸如通道和goroutine之类的并发功能.如果你负责研发或运维Go应用程序,则考虑周全的日志记录策略可以帮助你了解用户行为 ...
- golang debug 配置_新鲜出炉的golang日志库
新鲜出炉的golang日志记录库 https://github.com/zxysilent/logsgithub.com 功能 日志等级 DEBUG.INFO.WARN.ERROR.FATAL 每天 ...
- 介绍 Golang 日志处理
介绍 Golang 日志处理 本文介绍Go语言的Log包及其API,通过示例让你轻松掌握日志处理. 1. 概述 日志文件一般用于记录操作系统或其他软件运行时发生的事件,或通信软件不同用户之间的消息.日 ...
- Python之向日志输出中添加上下文信息
除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息.比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如:远程客户端的IP地址和用户名.这里我们 ...
- python日志输出到屏幕,python日志写入文件
python日志输出到屏幕,python日志写入文件 日志 日志是跟踪软件运行时所发生的事件的一种方法.软件开发者在代码中调用日志函数,表明发生了特定的事件.事件由描述性消息描述,该描述性消息可以可选 ...
- 基于单例模式的日志输出(C++)
原文:https://blog.csdn.net/giser_mxd/article/details/75557410 在软件运行中,系统一般会采用一个持久化的日志系统来记录运行情况.本题你需要实现一 ...
最新文章
- App-IOS与Android弱网环境测试
- 网摘精灵教程:网站流量爆涨的时空隧道
- PyTorch 实现 VAE 变分自编码器 含代码
- InvokeHelper,让跨线程访问/修改主界面控件不再麻烦(转)
- 【NLP】大模型时代,我们真的不再需要分词了吗?
- ZJOI2019游记
- 论文共读 | “阳奉阴违”的半监督学习算法 - Virtual Adversarial Training
- Gh0st源代码详细剖析
- 推流地址 java_Java实现腾讯云直播生成推流地址和播放地址
- java新建json 数组_Java创建JSON对象
- Jetson TX2之ALSA学习
- react + antd table +hooks 如何实现表格序号自增 翻页后序号不从1开始算起
- matlab标定投影误差,opencv 角点检测+相机标定+去畸变+重投影误差计算
- 复现CLOCs中spconv v1.0 (commit 8da6f96)踩坑记录
- MATLAB实现地球表面上两点之间的仰角和方位角计算
- springboot通过ITextPDF写入模板并下载
- VL31N创建内向交货函数GN_DELIVERY_CREATE及增强字段
- 蓝牙协议系列之(五) ATT
- Hive sql 每天场景题 41
- 内网渗透(十二)之内网信息收集-内网端口扫描和发现
热门文章
- 被高中生物骗了这么多年,原来人体内细胞的DNA是有不同的?
- 中小学python、人工智能书籍(2022.02.02)
- 微信网页授权,并获取用户头像,昵称等基本信息代码实例
- python使用协程实现udp_python-socket和进程线程协程(代码展示)
- pythonsocket自动化教程_Python 的 Socket 编程教程
- APK反编译之APKTOOL的使用
- Spring Boot静态资源映射规则
- C++|STL学习笔记-map的基本操作(插入,删除,遍历,大到小输出)【仿大佬写法】
- Qt工作笔记-undefined reference to `vtable for MyObject'及对moc文件的进一步理解
- eslint 换行_ESLint代码风格检测