Change log folder to ~/.hmcl
This commit is contained in:
@@ -71,8 +71,11 @@ public final class Launcher extends Application {
|
|||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Thread.setDefaultUncaughtExceptionHandler(CRASH_REPORTER);
|
Thread.setDefaultUncaughtExceptionHandler(CRASH_REPORTER);
|
||||||
|
|
||||||
|
if (!LOG_DIRECTORY.mkdirs())
|
||||||
|
System.out.println("Unable to create log directory " + LOG_DIRECTORY + ", log files cannot be generated.");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Logging.start();
|
Logging.start(LOG_DIRECTORY);
|
||||||
|
|
||||||
// NetworkUtils.setUserAgentSupplier(() -> "Hello Minecraft! Launcher");
|
// NetworkUtils.setUserAgentSupplier(() -> "Hello Minecraft! Launcher");
|
||||||
Constants.UI_THREAD_SCHEDULER = Constants.JAVAFX_UI_THREAD_SCHEDULER;
|
Constants.UI_THREAD_SCHEDULER = Constants.JAVAFX_UI_THREAD_SCHEDULER;
|
||||||
@@ -113,21 +116,6 @@ public final class Launcher extends Application {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static File getWorkingDirectory(String folder) {
|
|
||||||
String home = System.getProperty("user.home", ".");
|
|
||||||
switch (OperatingSystem.CURRENT_OS) {
|
|
||||||
case LINUX:
|
|
||||||
return new File(home, "." + folder + "/");
|
|
||||||
case WINDOWS:
|
|
||||||
String appdata = System.getenv("APPDATA");
|
|
||||||
return new File(Lang.nonNull(appdata, home), "." + folder + "/");
|
|
||||||
case OSX:
|
|
||||||
return new File(home, "Library/Application Support/" + folder);
|
|
||||||
default:
|
|
||||||
return new File(home, folder + "/");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<File> getCurrentJarFiles() {
|
public static List<File> getCurrentJarFiles() {
|
||||||
List<File> result = new LinkedList<>();
|
List<File> result = new LinkedList<>();
|
||||||
if (Launcher.class.getClassLoader() instanceof URLClassLoader) {
|
if (Launcher.class.getClassLoader() instanceof URLClassLoader) {
|
||||||
@@ -160,8 +148,9 @@ public final class Launcher extends Application {
|
|||||||
return String.format(i18n(key), formatArgs);
|
return String.format(i18n(key), formatArgs);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final File MINECRAFT_DIRECTORY = getWorkingDirectory("minecraft");
|
public static final File MINECRAFT_DIRECTORY = OperatingSystem.getWorkingDirectory("minecraft");
|
||||||
public static final File HMCL_DIRECTORY = getWorkingDirectory("hmcl");
|
public static final File HMCL_DIRECTORY = OperatingSystem.getWorkingDirectory("hmcl");
|
||||||
|
public static final File LOG_DIRECTORY = new File(Launcher.HMCL_DIRECTORY, "logs");
|
||||||
|
|
||||||
public static final String VERSION = "@HELLO_MINECRAFT_LAUNCHER_VERSION_FOR_GRADLE_REPLACING@";
|
public static final String VERSION = "@HELLO_MINECRAFT_LAUNCHER_VERSION_FOR_GRADLE_REPLACING@";
|
||||||
public static final String NAME = "HMCL";
|
public static final String NAME = "HMCL";
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ public class AppDataUpgrader extends IUpgrader {
|
|||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
} finally {
|
} finally {
|
||||||
Logging.start();
|
Logging.start(Launcher.LOG_DIRECTORY);
|
||||||
Thread.currentThread().setContextClassLoader(pre);
|
Thread.currentThread().setContextClassLoader(pre);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@@ -218,7 +218,7 @@ public class AppDataUpgrader extends IUpgrader {
|
|||||||
|
|
||||||
public static class AppDataUpgraderJarTask extends Task {
|
public static class AppDataUpgraderJarTask extends Task {
|
||||||
|
|
||||||
public static final File BASE_FOLDER = Launcher.getWorkingDirectory("hmcl");
|
public static final File BASE_FOLDER = OperatingSystem.getWorkingDirectory("hmcl");
|
||||||
public static final File HMCL_VER_FILE = new File(BASE_FOLDER, "hmclver.json");
|
public static final File HMCL_VER_FILE = new File(BASE_FOLDER, "hmclver.json");
|
||||||
|
|
||||||
public static File getSelf(String ver) {
|
public static File getSelf(String ver) {
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
package org.jackhuang.hmcl.util;
|
package org.jackhuang.hmcl.util;
|
||||||
|
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
@@ -37,12 +38,12 @@ public final class Logging {
|
|||||||
LOG = Logger.getLogger("HMCL");
|
LOG = Logger.getLogger("HMCL");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void start() {
|
public static void start(File logFolder) {
|
||||||
LOG.setLevel(Level.FINER);
|
LOG.setLevel(Level.FINER);
|
||||||
LOG.setUseParentHandlers(false);
|
LOG.setUseParentHandlers(false);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
FileHandler fileHandler = new FileHandler("hmcl.log");
|
FileHandler fileHandler = new FileHandler(new File(logFolder, "hmcl.log").getAbsolutePath());
|
||||||
fileHandler.setLevel(Level.FINEST);
|
fileHandler.setLevel(Level.FINEST);
|
||||||
fileHandler.setFormatter(DefaultFormatter.INSTANCE);
|
fileHandler.setFormatter(DefaultFormatter.INSTANCE);
|
||||||
LOG.addHandler(fileHandler);
|
LOG.addHandler(fileHandler);
|
||||||
|
|||||||
@@ -143,4 +143,19 @@ public enum OperatingSystem {
|
|||||||
System.runFinalization();
|
System.runFinalization();
|
||||||
System.gc();
|
System.gc();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static File getWorkingDirectory(String folder) {
|
||||||
|
String home = System.getProperty("user.home", ".");
|
||||||
|
switch (OperatingSystem.CURRENT_OS) {
|
||||||
|
case LINUX:
|
||||||
|
return new File(home, "." + folder + "/");
|
||||||
|
case WINDOWS:
|
||||||
|
String appdata = System.getenv("APPDATA");
|
||||||
|
return new File(Lang.nonNull(appdata, home), "." + folder + "/");
|
||||||
|
case OSX:
|
||||||
|
return new File(home, "Library/Application Support/" + folder);
|
||||||
|
default:
|
||||||
|
return new File(home, folder + "/");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user