golang 日志打印后程序直接退出

Python024

golang 日志打印后程序直接退出,第1张

在一段 http get 的程序中,如果出现错误,打印日志后会导致程序退出。

将 log.Fatal 修改为 log.Println 即可解决问题。

感觉一个函数做了本不该它做的事情,有些好奇,golang 设计者的设计哲学。

日常开发当中需要将golang的log包打印的日志同时输出到控制台文件,应该如何解决这个问题?

log包可以通过SetOutput()方法指定日志输出的方式(Writer),但是只能指定一个输出的方式(Writer)。我们利用io.MultiWriter()将多个Writer拼成一个Writer使用的特性,把log.Println()输出的内容分流到控制台和文件当中。

原文地址

golang提供了一个简单的日志输出包log,常用用法,已经基本满足日常的日志输出需求

1、日志级别有3个,info,fatal,panic

2、 日志文件的输出

输出的结果 a.log

[Debug]main.go:45: debug info is ,check list ,hello

[Debug]main.go:46: debug info is ,check list ,hello000111

[Info]2020/09/09 Info check

标准输出:

[Info]2020/09/09 Info check stdout

样例二:

输出结果为:

[Info]2020/09/09 Check init info

[Info]2020/09/09 go to function Check