今天说一说Go语言编程从入门到精通,调试日志log,希望您对编程有更深刻的理解.大家好,我是编程小浩浩。
日志是程序运行过程的记录,日志监视应用程序执行的健康状况、反馈问题及寻找问题。
举个例子
可以看到执行结果有3部分组成,即执行日期、时间和执行结果。
致命错误退出
12行:通过errors.New()定义了一个error类型的变量。
13行:Fatal相当于Print()后面跟着对os.Exit(1)的调用,连贯起来就是先打印输出,然后程序退出。
把日志写入文件中
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日志文件
但是这样操作存在一个问题,要么显示在控制台,要么显示在日志文件中,有没有办法能够让控制台实时显示,日志文件也记录呢?
18行:定义writer变量,作为写入器,将os.Stdout和file作为参数传入写入器,返回值是1个Writer。
19行:通过log.SetOutput(writer)设置标准记录器的输出目标。
可以看到,控制台和日志文件是同步的,内容也是一样的。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/4167.html