Beispiel #1
0
func tryToRemoveLogs(logsDirectory string, settings config.Settings) {
	if !caravel.DirectoryExists(logsDirectory) {
		return
	}

	logFiles, err := ioutil.ReadDir(logsDirectory)
	if err != nil {
		fmt.Fprintf(os.Stderr, "Cannot list the logs directory: %v\n", err)
		return
	}

	now := time.Now()

	for _, logFile := range logFiles {
		logFileAge := now.Sub(logFile.ModTime())

		if logFileAge.Hours() > float64(settings.GetLogMaxAgeInHours()) {
			logFilePath := filepath.Join(logsDirectory, logFile.Name())
			err = os.Remove(logFilePath)
			if err != nil {
				fmt.Fprintf(os.Stderr, "Cannot delete log file: '%v'\n", logFile.Name())
			}
		}
	}
}