public void logSevere(String message) { uLogger.severe(String.format("[%d] %s", Thread.currentThread().getId(), message)); final int maxSevereLogsToDump = 10; // could consider settings, but nah! if (currentSevereCnt.incrementAndGet() < maxSevereLogsToDump) { final String dumpLogFilename = String.format("%d.dump.log", new Date().getTime()); final String dumpLogFilePath = plugin.getDataFolder().toString() + File.separator + dumpLogFilename; try { PrintWriter out = new PrintWriter(dumpLogFilePath); out.println(String.format("[%d] %s", Thread.currentThread().getId(), message)); out.flush(); out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } if (plugin.settings.devUser == null) { return; } final Player player = plugin.getServer().getPlayer(plugin.settings.devUser); if (player != null && player.isOnline()) { player.sendMessage( "Omniscient error: " + message.substring(0, Math.min(message.length() - 1, 30))); } }
public LoggedPluginManager(Plugin owner) { this(owner.getServer().getPluginManager()); }