Corrected a logfile issue.

When WorldEdit is reloaded within Bukkit, an additional log file is created. This is because the Logger's FileHandler wasn't closed and thus kept the log file locked.
This commit is contained in:
stoneLeaf 2011-05-08 06:57:08 +02:00
parent 9f86c99a28
commit d67e9d970d
2 changed files with 12 additions and 3 deletions

View File

@ -34,6 +34,7 @@ import com.sk89q.worldedit.snapshots.SnapshotRepository;
public class BukkitConfiguration extends LocalConfiguration { public class BukkitConfiguration extends LocalConfiguration {
private Configuration config; private Configuration config;
private Logger logger; private Logger logger;
private FileHandler logFileHandler;
public boolean noOpPermissions = false; public boolean noOpPermissions = false;
@ -97,9 +98,9 @@ public class BukkitConfiguration extends LocalConfiguration {
String logFile = config.getString("logging.file", ""); String logFile = config.getString("logging.file", "");
if (!logFile.equals("")) { if (!logFile.equals("")) {
try { try {
FileHandler handler = new FileHandler(logFile, true); logFileHandler = new FileHandler(logFile, true);
handler.setFormatter(new LogFormat()); logFileHandler.setFormatter(new LogFormat());
logger.addHandler(handler); logger.addHandler(logFileHandler);
} catch (IOException e) { } catch (IOException e) {
logger.log(Level.WARNING, "Could not use log file " + logFile + ": " logger.log(Level.WARNING, "Could not use log file " + logFile + ": "
+ e.getMessage()); + e.getMessage());
@ -110,4 +111,11 @@ public class BukkitConfiguration extends LocalConfiguration {
} }
} }
} }
public void unload() {
if (logFileHandler != null) {
logFileHandler.close();
}
}
} }

View File

@ -111,6 +111,7 @@ public class WorldEditPlugin extends JavaPlugin {
*/ */
public void onDisable() { public void onDisable() {
controller.clearSessions(); controller.clearSessions();
config.unload();
} }
/** /**