void initLogger() { final boolean VERBOSE_LOGGING = true; final int LOG_SIZE = 512 * 1024; // max log file size (in bytes) Logger globalLogger = Logger.getLogger(""); // Logger logger = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); // doesn't work on os x if (VERBOSE_LOGGING) { globalLogger.setLevel(Level.INFO); } else { globalLogger.setLevel(Level.WARNING); } // enable logging to file try { // settings is writable for built-in modes, mode folder is not writable File logFolder = Base.getSettingsFile("debug"); if (!logFolder.exists()) { logFolder.mkdir(); } File logFile = new File(logFolder, "DebugMode.%g.log"); Handler handler = new FileHandler(logFile.getAbsolutePath(), LOG_SIZE, 10, false); globalLogger.addHandler(handler); } catch (IOException ex) { Logger.getLogger(JavaMode.class.getName()).log(Level.SEVERE, null, ex); } catch (SecurityException ex) { Logger.getLogger(JavaMode.class.getName()).log(Level.SEVERE, null, ex); } }