func getIdeLogsDir()

in backend/analyzer/installedIDEs/InstallationsFinder.go [253:273]


func getIdeLogsDir(ideaBinary string) (logsDir string) {
	if value := GetIdePropertyByName("idea.log.path", ideaBinary); len(value) != 0 {
		if FileExists(value) {
			return value
		} else {
			log.Printf("'idea.log.path' property is defined, but directory \"%s\" does not exist", value)
		}
	}
	installationInfo, err := getIdeInfoByBinary(ideaBinary)
	if err != nil {
		log.Printf("getIdeInfoByBinary failed. ideaBinary: %s, Error: %s", ideaBinary, err)
	}
	logsDir = strings.Replace(defaultLogsDirLocation[runtime.GOOS], "{dataDirectoryName}", installationInfo.DataDirectoryName, -1)
	logsDir = os.ExpandEnv(logsDir)
	if FileExists(logsDir) {
		return logsDir
	} else {
		log.Printf("Could not detect logs directory location for %s. Maybe it has never run?", ideaBinary)
		return ""
	}
}