[Go] 로그 파일로 로그 관리

2021. 10. 19. 11:21Programming Language/Go

반응형

■ 파일로 로그 관리

내장 패키지 log, os, time 를 활용하여

로그를 작성할 파일을 생성하고, 파일에 로그를 작성

 


■ 작업 내용

일별로 로그를 관리할 수 있도록 파일을 생성하고 로그 작성

func main() {
	// 현재시간
	startDate := time.Now().Format("2006-01-02")
	// log 폴더 위치
	logFolderPath := "./log"
	// log 파일 경로
	logFilePath := fmt.Sprintf("%s/logFile-%s.log", logFolderPath, startDate)
	// log 폴더가 없을 경우 log 폴더 생성
	if _, err := os.Stat(logFolderPath); os.IsNotExist(err) {
		os.MkdirAll(logFolderPath, 0777)
	}

	// log 파일이 없을 경우 log 파일 생성
	if _, err := os.Stat(logFilePath); os.IsNotExist(err) {
		os.Create(logFilePath)
	}
	// log 파일 열기
	logFile, err := os.OpenFile(logFilePath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
	if err != nil {
		panic(err)
	}
	defer logFile.Close()
	// log 패키지를 활요하여 작성할 경우 log 파일에 작성되도록 설정
	log.SetOutput(logFile)

	// log 작성
	log.Println("Test")
}

■ 결과

1. 로그 파일 생성 확인

2. 로그 확인

반응형