diff --git a/ntcoreffi/src/main/native/cpp/DataLogManager.cpp b/ntcoreffi/src/main/native/cpp/DataLogManager.cpp index bd200aea17..3a67c8de7f 100644 --- a/ntcoreffi/src/main/native/cpp/DataLogManager.cpp +++ b/ntcoreffi/src/main/native/cpp/DataLogManager.cpp @@ -232,7 +232,10 @@ static std::string MakeLogDir(std::string_view dir) { fs::create_directory("/home/lvuser/logs", ec); return "/home/lvuser/logs"; #else - return filesystem::GetOperatingDirectory(); + std::string logDir = filesystem::GetOperatingDirectory() + "/logs"; + std::error_code ec; + fs::create_directory(logDir, ec); + return logDir; #endif } diff --git a/wpilibc/src/main/native/cpp/DataLogManager.cpp b/wpilibc/src/main/native/cpp/DataLogManager.cpp index d0e627359b..09ac07762c 100644 --- a/wpilibc/src/main/native/cpp/DataLogManager.cpp +++ b/wpilibc/src/main/native/cpp/DataLogManager.cpp @@ -79,7 +79,10 @@ static std::string MakeLogDir(std::string_view dir) { fs::create_directory("/home/lvuser/logs", ec); return "/home/lvuser/logs"; #else - return filesystem::GetOperatingDirectory(); + std::string logDir = filesystem::GetOperatingDirectory() + "/logs"; + std::error_code ec; + fs::create_directory(logDir, ec); + return logDir; #endif } diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/DataLogManager.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/DataLogManager.java index 4d56d994cc..be6c25224c 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/DataLogManager.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/DataLogManager.java @@ -233,7 +233,11 @@ public final class DataLogManager { } return "/home/lvuser/logs"; } - return Filesystem.getOperatingDirectory().getAbsolutePath(); + String logDir = Filesystem.getOperatingDirectory().getAbsolutePath() + "/logs"; + if (!new File(logDir).mkdir()) { + // ignored + } + return logDir; } private static String makeLogFilename(String filenameOverride) {