Browse Source

File should be closed and writeLog doesn't need to be exported

Piotr Czajkowski 3 years ago
parent
commit
1b3e01cb86
2 changed files with 8 additions and 8 deletions
  1. 6 6
      logger.go
  2. 2 2
      server.go

+ 6 - 6
logger.go

@@ -12,21 +12,21 @@ const (
 	dateFormat = "20060102"
 )
 
-func getWriter() *csv.Writer {
+func getWriter() (*csv.Writer, *os.File) {
 	logFile := filepath.Join("log", (time.Now().Format(dateFormat) + ".log"))
 	logOutput, err := os.OpenFile(logFile, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0600)
 	if err != nil {
-		log.Fatalf("Error creating log file: %v", err)
+		log.Fatalf("Log file error: %s", err)
 	}
 
 	writer := csv.NewWriter(logOutput)
-	return writer
+	return writer, logOutput
 }
 
-// WriteLog main function, saves event to the log.
-func WriteLog(info SearchInfo) {
-	writer := getWriter()
+func writeLog(info SearchInfo) {
+	writer, file := getWriter()
 
 	writer.Write(info.ToArray())
 	writer.Flush()
+	file.Close()
 }

+ 2 - 2
server.go

@@ -30,7 +30,7 @@ func displaySearchResults(w http.ResponseWriter, r *http.Request) {
 		if info.LanguageCode == "" || app.checkLanguage(info.LanguageCode) {
 			searchResults = app.Search(app.GetTMs(info.LanguageCode), info.Phrase)
 			info.ResultsServed = searchResults.TotalResults
-			WriteLog(info)
+			writeLog(info)
 		} else {
 			errorPage.Execute(w, "Language not valid!")
 			return
@@ -56,7 +56,7 @@ func displayTMs(w http.ResponseWriter, r *http.Request) {
 	if info.LanguageCode == "" || app.checkLanguage(info.LanguageCode) {
 		TMList = app.GetTMs(info.LanguageCode)
 		info.ResultsServed = len(TMList)
-		WriteLog(info)
+		writeLog(info)
 	} else {
 		errorPage.Execute(w, "Language not valid!")
 		return