Set version to 0.1-RC3.
[Sone.git] / src / main / java / net / pterodactylus / sone / main / SonePlugin.java
index 810fef1..531bc90 100644 (file)
@@ -20,6 +20,7 @@ package net.pterodactylus.sone.main;
 import java.io.File;
 import java.util.Collections;
 import java.util.logging.Level;
+import java.util.logging.LogRecord;
 import java.util.logging.Logger;
 
 import net.pterodactylus.sone.core.Core;
@@ -31,6 +32,7 @@ import net.pterodactylus.util.config.ConfigurationException;
 import net.pterodactylus.util.config.MapConfigurationBackend;
 import net.pterodactylus.util.config.XMLConfigurationBackend;
 import net.pterodactylus.util.logging.Logging;
+import net.pterodactylus.util.logging.LoggingListener;
 import net.pterodactylus.util.version.Version;
 import freenet.client.async.DatabaseDisabledException;
 import freenet.l10n.BaseL10n.LANGUAGE;
@@ -54,10 +56,30 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10
        static {
                /* initialize logging. */
                Logging.setup("sone");
+               Logging.addLoggingListener(new LoggingListener() {
+
+                       @Override
+                       public void logged(LogRecord logRecord) {
+                               Class<?> loggerClass = Logging.getLoggerClass(logRecord.getLoggerName());
+                               int recordLevel = logRecord.getLevel().intValue();
+                               if (recordLevel < Level.FINE.intValue()) {
+                                       freenet.support.Logger.debug(loggerClass, String.format(logRecord.getMessage(), logRecord.getParameters()), logRecord.getThrown());
+                               } else if (recordLevel < Level.INFO.intValue()) {
+                                       freenet.support.Logger.minor(loggerClass, String.format(logRecord.getMessage(), logRecord.getParameters()), logRecord.getThrown());
+                               } else if (recordLevel < Level.WARNING.intValue()) {
+                                       freenet.support.Logger.normal(loggerClass, String.format(logRecord.getMessage(), logRecord.getParameters()), logRecord.getThrown());
+                               } else if (recordLevel < Level.SEVERE.intValue()) {
+                                       freenet.support.Logger.warning(loggerClass, String.format(logRecord.getMessage(), logRecord.getParameters()), logRecord.getThrown());
+                               } else {
+                                       freenet.support.Logger.error(loggerClass, String.format(logRecord.getMessage(), logRecord.getParameters()), logRecord.getThrown());
+                               }
+                       }
+
+               });
        }
 
        /** The version. */
-       private static final Version VERSION = new Version("SNAPSHOT", 0, 1);
+       public static final Version VERSION = new Version("RC3", 0, 1);
 
        /** The logger. */
        private static final Logger logger = Logging.getLogger(SonePlugin.class);
@@ -167,21 +189,24 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10
         */
        @Override
        public void terminate() {
-               /* stop the web interface. */
-               webInterface.stop();
+               try {
+                       /* stop the web interface. */
+                       webInterface.stop();
 
-               /* stop the core. */
-               core.stop();
+                       /* stop the core. */
+                       core.stop();
 
-               /* TODO wait for core to stop? */
-               try {
-                       pluginRespirator.putStore(pluginStore);
-               } catch (DatabaseDisabledException dde1) {
-                       logger.log(Level.WARNING, "Could not store plugin store, database is disabled.", dde1);
-               }
+                       /* TODO wait for core to stop? */
+                       try {
+                               pluginRespirator.putStore(pluginStore);
+                       } catch (DatabaseDisabledException dde1) {
+                               logger.log(Level.WARNING, "Could not store plugin store, database is disabled.", dde1);
+                       }
 
-               /* shutdown logger. */
-               Logging.shutdown();
+               } finally {
+                       /* shutdown logger. */
+                       Logging.shutdown();
+               }
        }
 
        //