大家在日常的开发中,肯定会遇到很多异常,但是项目部署到线上之后又如何记录这些异常呢?又为什么要记录这些异常呢?记录这些异常可以很快的帮助大家,快速的定位到某一处bug,帮助我们很快的解决,这样一来就增加了我们的摸鱼时间,但是这些异常该记录在哪里呢?大家肯定能相当是文件中,那么如何记录到文件中呢? 这里我帮大家写好了一个好的util,喜欢的朋友可以评论楼
var GlobalLogInfo *LogInfo
func NewLogFile(logFilePath string) {
// 这里我用的是日期来作为文件的名称
currentDateString := getTodayDate()
GlobalLogInfo = &LogInfo{}
GlobalLogInfo.setPath(logFilePath + currentDateString + ".log")
}
type LogInfo struct {
logFilePath string
}
// 这里是设置log文件保存的路径
func (logInfo *LogInfo) setPath(logFilePath string) {
logInfo.logFilePath = logFilePath
}
func (logInfo *LogInfo) initLogInfo() *os.File {
logInfoFile, err := os.OpenFile(logInfo.logFilePath, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
if err != nil {
log.Fatal(err)
}
return logInfoFile
}
func (logInfo *LogInfo) WriterLog(errMessage any) {
logFileObj := logInfo.initLogInfo()
defer logFileObj.Close()
log.SetOutput(logFileObj)
// 要以什么样的格式输入到文件中
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
log.Println(errMessage)
}
func getTodayDate() string {
currentDate := time.Now()
formattedTime := currentDate.Format("2006-01-02")
return formattedTime
}