Go语言编程从入门到精通,调试日志log

Go语言编程从入门到精通,调试日志log日志是程序运行过程的记录,日志监视应用程序执行的健康状况、反馈问题及寻找问题。举个例子可以看到执行结果有3部分组成,即执行日期、时间和执行结果。

日志是程序运行过程的记录,日志监视应用程序执行的健康状况、反馈问题及寻找问题。

举个例子

Go语言编程从入门到精通,调试日志log

Go语言编程从入门到精通,调试日志log

可以看到执行结果有3部分组成,即执行日期、时间和执行结果。

致命错误退出

Go语言编程从入门到精通,调试日志log

Go语言编程从入门到精通,调试日志log

12行:通过errors.New()定义了一个error类型的变量。

13行:Fatal相当于Print()后面跟着对os.Exit(1)的调用,连贯起来就是先打印输出,然后程序退出。

把日志写入文件中

Go语言编程从入门到精通,调试日志log

Go语言编程从入门到精通,调试日志log

11行:通过OpenFile打开1个文件,os.O_APPEND|os.O_CREATE|os.O_RDWR代表打开文件的模式,可以追加、新建、可读可写,然后0666是权限,和linux的文件权限是相同的。如果成功,返回的File上的方法可以用于I/O。如果有错误,它的类型将是*PathError。

16行:defer file.Close()的目的是:关闭文件。

17行:通过log.SetOutput(file)设置标准记录器的输出目标,参数要求是w io.Writer类型。

执行后,在当前文件夹的生成running.log日志文件

Go语言编程从入门到精通,调试日志log

但是这样操作存在一个问题,要么显示在控制台,要么显示在日志文件中,有没有办法能够让控制台实时显示,日志文件也记录呢?

Go语言编程从入门到精通,调试日志log

18行:定义writer变量,作为写入器,将os.Stdout和file作为参数传入写入器,返回值是1个Writer。

19行:通过log.SetOutput(writer)设置标准记录器的输出目标。

Go语言编程从入门到精通,调试日志log

可以看到,控制台和日志文件是同步的,内容也是一样的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/4167.html

(0)
编程小号编程小号
上一篇 2022-12-26
下一篇 2022-12-27

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注