public static void createDirectories() { final String[] dirs = { Paths.getHomeDirectory(), Paths.getLogsDirectory(), Paths.getCacheDirectory(), Paths.getSettingsDirectory(), Paths.getScriptsDirectory(), Paths.getScriptsSourcesDirectory(), Paths.getScriptsPrecompiledDirectory(), Paths.getScriptsNetworkDirectory(), }; for (final String name : dirs) { final File dir = new File(name); if (!dir.isDirectory()) { dir.mkdirs(); } } if (Configuration.getCurrentOperatingSystem() == Configuration.OperatingSystem.WINDOWS) { try { Runtime.getRuntime() .exec( "attrib +H \"" + new File(Paths.getScriptsNetworkDirectory()).getAbsolutePath() + "\""); } catch (final IOException ignored) { } } }
public static void registerLogging() { final Properties logging = new Properties(); final String logFormatter = LogFormatter.class.getCanonicalName(); final String fileHandler = FileHandler.class.getCanonicalName(); logging.setProperty( "handlers", TextAreaLogHandler.class.getCanonicalName() + "," + fileHandler); logging.setProperty(".level", "INFO"); logging.setProperty(SystemConsoleHandler.class.getCanonicalName() + ".formatter", logFormatter); logging.setProperty(fileHandler + ".formatter", logFormatter); logging.setProperty(TextAreaLogHandler.class.getCanonicalName() + ".formatter", logFormatter); logging.setProperty( fileHandler + ".pattern", Paths.getLogsDirectory() + File.separator + "%u.%g.log"); logging.setProperty(fileHandler + ".count", "10"); final ByteArrayOutputStream logout = new ByteArrayOutputStream(); try { logging.store(logout, ""); LogManager.getLogManager().readConfiguration(new ByteArrayInputStream(logout.toByteArray())); } catch (final Exception ignored) { } }