Abandon logging that does not work with Freenet’s logger at all
[Sone.git] / src / main / java / net / pterodactylus / sone / main / SonePlugin.java
index b80aa47..17340b8 100644 (file)
@@ -27,21 +27,9 @@ import java.util.logging.LogRecord;
 import java.util.logging.Logger;
 
 import net.pterodactylus.sone.core.Core;
-import net.pterodactylus.sone.core.FreenetInterface;
-import net.pterodactylus.sone.core.WebOfTrustUpdater;
-import net.pterodactylus.sone.core.WebOfTrustUpdaterImpl;
-import net.pterodactylus.sone.database.Database;
-import net.pterodactylus.sone.database.PostBuilderFactory;
-import net.pterodactylus.sone.database.PostProvider;
-import net.pterodactylus.sone.database.PostReplyBuilderFactory;
-import net.pterodactylus.sone.database.SoneProvider;
-import net.pterodactylus.sone.database.memory.MemoryDatabase;
 import net.pterodactylus.sone.fcp.FcpInterface;
 import net.pterodactylus.sone.freenet.PluginStoreConfigurationBackend;
-import net.pterodactylus.sone.freenet.plugin.PluginConnector;
 import net.pterodactylus.sone.freenet.wot.Context;
-import net.pterodactylus.sone.freenet.wot.IdentityManager;
-import net.pterodactylus.sone.freenet.wot.IdentityManagerImpl;
 import net.pterodactylus.sone.freenet.wot.WebOfTrustConnector;
 import net.pterodactylus.sone.web.WebInterface;
 import net.pterodactylus.util.config.Configuration;
@@ -50,6 +38,9 @@ import net.pterodactylus.util.config.MapConfigurationBackend;
 import net.pterodactylus.util.version.Version;
 
 import com.google.common.base.Optional;
+import com.google.common.cache.CacheBuilder;
+import com.google.common.cache.CacheLoader;
+import com.google.common.cache.LoadingCache;
 import com.google.common.eventbus.EventBus;
 import com.google.inject.AbstractModule;
 import com.google.inject.Guice;
@@ -86,22 +77,31 @@ public class SonePlugin implements FredPlugin, FredPluginFCP, FredPluginL10n, Fr
 
        static {
                /* initialize logging. */
-               Logger soneLogger = getLogger("Sone");
+               Logger soneLogger = getLogger("net.pterodactylus.sone");
                soneLogger.setUseParentHandlers(false);
                soneLogger.addHandler(new Handler() {
+                       private final LoadingCache<String, Class<?>> classCache = CacheBuilder.newBuilder()
+                                       .build(new CacheLoader<String, Class<?>>() {
+                                               @Override
+                                               public Class<?> load(String key) throws Exception {
+                                                       return Class.forName(key);
+                                               }
+                                       });
+                       
                        @Override
                        public void publish(LogRecord logRecord) {
                                int recordLevel = logRecord.getLevel().intValue();
+                               Class<?> loggingClass = classCache.getUnchecked(logRecord.getLoggerName());
                                if (recordLevel < Level.FINE.intValue()) {
-                                       freenet.support.Logger.debug(logRecord.getLoggerName(), logRecord.getMessage(), logRecord.getThrown());
+                                       freenet.support.Logger.debug(loggingClass, logRecord.getMessage(), logRecord.getThrown());
                                } else if (recordLevel < Level.INFO.intValue()) {
-                                       freenet.support.Logger.minor(logRecord.getLoggerName(), logRecord.getMessage(), logRecord.getThrown());
+                                       freenet.support.Logger.minor(loggingClass, logRecord.getMessage(), logRecord.getThrown());
                                } else if (recordLevel < Level.WARNING.intValue()) {
-                                       freenet.support.Logger.normal(logRecord.getLoggerName(), logRecord.getMessage(), logRecord.getThrown());
+                                       freenet.support.Logger.normal(loggingClass, logRecord.getMessage(), logRecord.getThrown());
                                } else if (recordLevel < Level.SEVERE.intValue()) {
-                                       freenet.support.Logger.warning(logRecord.getLoggerName(), logRecord.getMessage(), logRecord.getThrown());
+                                       freenet.support.Logger.warning(loggingClass, logRecord.getMessage(), logRecord.getThrown());
                                } else {
-                                       freenet.support.Logger.error(logRecord.getLoggerName(), logRecord.getMessage(), logRecord.getThrown());
+                                       freenet.support.Logger.error(loggingClass, logRecord.getMessage(), logRecord.getThrown());
                                }
                        }
 
@@ -124,7 +124,7 @@ public class SonePlugin implements FredPlugin, FredPluginFCP, FredPluginL10n, Fr
        private static final int LATEST_EDITION = 69;
 
        /** The logger. */
-       private static final Logger logger = getLogger("Sone.Plugin");
+       private static final Logger logger = getLogger(SonePlugin.class.getName());
 
        /** The plugin respirator. */
        private PluginRespirator pluginRespirator;