日志是程序运行过程的记录,日志监视应用程序执行的健康状况、反馈问题及寻找问题。
举个例子
可以看到执行结果有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)设置标准记录器的输出目标。
可以看到,控制台和日志文件是同步的,内容也是一样的。
本文暂时没有评论,来添加一个吧(●'◡'●)