You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2013/08/15 14:56:59 UTC

[2/6] ISIS-490: switching from log4j to slf4j

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionImpl.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionImpl.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionImpl.java
index 5c61325..594ea4d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionImpl.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionImpl.java
@@ -25,7 +25,8 @@ import java.util.List;
 import com.google.common.base.Objects;
 import com.google.common.collect.Lists;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.applib.annotation.ActionSemantics;
 import org.apache.isis.applib.annotation.Where;
@@ -72,7 +73,7 @@ import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
 import org.apache.isis.core.metamodel.spec.feature.ObjectMemberContext;
 
 public class ObjectActionImpl extends ObjectMemberAbstract implements ObjectAction {
-    private final static Logger LOG = Logger.getLogger(ObjectActionImpl.class);
+    private final static Logger LOG = LoggerFactory.getLogger(ObjectActionImpl.class);
 
     public static ActionType getType(final String typeStr) {
         final ActionType type = ActionType.valueOf(typeStr);

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
index c8dc0e0..8e62912 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
@@ -29,7 +29,8 @@ import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
 import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.NotPersistable;
@@ -94,7 +95,7 @@ import org.apache.isis.core.metamodel.specloader.specimpl.objectlist.ObjectSpeci
 
 public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implements ObjectSpecification {
 
-    private final static Logger LOG = Logger.getLogger(ObjectSpecificationAbstract.class);
+    private final static Logger LOG = LoggerFactory.getLogger(ObjectSpecificationAbstract.class);
 
     private static class SubclassList {
         private final List<ObjectSpecification> classes = Lists.newArrayList();

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
index 21ecc66..d318126 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
@@ -29,7 +29,8 @@ import java.util.Properties;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.applib.filter.Filter;
 import org.apache.isis.applib.filter.Filters;
@@ -82,7 +83,7 @@ import org.apache.isis.core.metamodel.specloader.specimpl.OneToOneAssociationImp
 
 public class ObjectSpecificationDefault extends ObjectSpecificationAbstract implements DebuggableWithTitle, FacetHolder {
 
-    private final static Logger LOG = Logger.getLogger(ObjectSpecificationDefault.class);
+    private final static Logger LOG = LoggerFactory.getLogger(ObjectSpecificationDefault.class);
 
     private static String determineShortName(final Class<?> introspectedClass) {
         final String name = introspectedClass.getName();

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/file/internal/HelpManagerUsingFiles.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/file/internal/HelpManagerUsingFiles.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/file/internal/HelpManagerUsingFiles.java
index d6f9b89..172ccf6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/file/internal/HelpManagerUsingFiles.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/help/file/internal/HelpManagerUsingFiles.java
@@ -25,7 +25,8 @@ import java.io.FileNotFoundException;
 import java.io.FileReader;
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.core.commons.config.IsisConfiguration;
@@ -33,7 +34,7 @@ import org.apache.isis.core.progmodel.facetdecorators.help.HelpManagerAbstract;
 
 public class HelpManagerUsingFiles extends HelpManagerAbstract {
 
-    private static final Logger LOG = Logger.getLogger(HelpManagerUsingFiles.class);
+    private static final Logger LOG = LoggerFactory.getLogger(HelpManagerUsingFiles.class);
 
     /**
      * The name of the file used unless overridden with

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/resourcebundle/internal/I18nManagerUsingResourceBundle.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/resourcebundle/internal/I18nManagerUsingResourceBundle.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/resourcebundle/internal/I18nManagerUsingResourceBundle.java
index e0cb922..7ad101c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/resourcebundle/internal/I18nManagerUsingResourceBundle.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facetdecorators/i18n/resourcebundle/internal/I18nManagerUsingResourceBundle.java
@@ -25,7 +25,8 @@ import java.util.ResourceBundle;
 
 import com.google.common.collect.Lists;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.core.commons.config.IsisConfiguration;
@@ -37,7 +38,7 @@ import org.apache.isis.core.progmodel.facetdecorators.i18n.I18nManager;
  */
 public class I18nManagerUsingResourceBundle implements I18nManager {
 
-    private static final Logger LOG = Logger.getLogger(I18nManagerUsingResourceBundle.class);
+    private static final Logger LOG = LoggerFactory.getLogger(I18nManagerUsingResourceBundle.class);
 
     private static final String BASE_FILE_NAME = "i18n";
 

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/invoke/ActionInvocationFacetViaMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/invoke/ActionInvocationFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/invoke/ActionInvocationFacetViaMethod.java
index 4f6a73f..ee0539c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/invoke/ActionInvocationFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/invoke/ActionInvocationFacetViaMethod.java
@@ -24,7 +24,8 @@ import java.lang.reflect.Method;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
@@ -41,7 +42,7 @@ import org.apache.isis.core.metamodel.specloader.ReflectiveActionException;
 
 public class ActionInvocationFacetViaMethod extends ActionInvocationFacetAbstract implements ImperativeFacet {
 
-    private final static Logger LOG = Logger.getLogger(ActionInvocationFacetViaMethod.class);
+    private final static Logger LOG = LoggerFactory.getLogger(ActionInvocationFacetViaMethod.class);
 
     private final Method method;
     private final int paramCount;

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/title/TitleFacetViaTitleMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/title/TitleFacetViaTitleMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/title/TitleFacetViaTitleMethod.java
index 7f3a7f5..ed535b1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/title/TitleFacetViaTitleMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/title/TitleFacetViaTitleMethod.java
@@ -23,7 +23,8 @@ import java.lang.reflect.Method;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.applib.profiles.Localization;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -34,7 +35,7 @@ import org.apache.isis.core.metamodel.facets.object.title.TitleFacetAbstract;
 
 public class TitleFacetViaTitleMethod extends TitleFacetAbstract implements ImperativeFacet {
 
-    private static final Logger LOG = Logger.getLogger(TitleFacetViaTitleMethod.class);
+    private static final Logger LOG = LoggerFactory.getLogger(TitleFacetViaTitleMethod.class);
     private final Method method;
 
     public TitleFacetViaTitleMethod(final Method method, final FacetHolder holder) {

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/title/annotation/TitleFacetViaTitleAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/title/annotation/TitleFacetViaTitleAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/title/annotation/TitleFacetViaTitleAnnotation.java
index dd690a6..f57b6fe 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/title/annotation/TitleFacetViaTitleAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/title/annotation/TitleFacetViaTitleAnnotation.java
@@ -26,7 +26,8 @@ import com.google.common.base.Function;
 import com.google.common.base.Objects;
 import com.google.common.base.Strings;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.applib.annotation.Title;
 import org.apache.isis.applib.profiles.Localization;
@@ -41,7 +42,7 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 
 public class TitleFacetViaTitleAnnotation extends TitleFacetAbstract {
 
-    private static final Logger LOG = Logger.getLogger(TitleFacetViaTitleAnnotation.class);
+    private static final Logger LOG = LoggerFactory.getLogger(TitleFacetViaTitleAnnotation.class);
     private final List<TitleComponent> components;
     private final AdapterManager adapterManager;
 

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/progmodel/layout/dflt/MemberLayoutArrangerDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/layout/dflt/MemberLayoutArrangerDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/layout/dflt/MemberLayoutArrangerDefault.java
index 365cc6a..a62e2fb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/layout/dflt/MemberLayoutArrangerDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/layout/dflt/MemberLayoutArrangerDefault.java
@@ -16,7 +16,8 @@
  */
 package org.apache.isis.core.progmodel.layout.dflt;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.metamodel.layout.MemberLayoutArrangerComposite;
 import org.apache.isis.core.metamodel.layout.memberorderfacet.MemberLayoutArrangerUsingMemberOrderFacet;
@@ -25,7 +26,7 @@ import org.apache.isis.core.progmodel.layout.ordermethod.MemberLayoutArrangerUsi
 public class MemberLayoutArrangerDefault extends MemberLayoutArrangerComposite {
 
     @SuppressWarnings("unused")
-    private static final Logger LOG = Logger.getLogger(MemberLayoutArrangerDefault.class);
+    private static final Logger LOG = LoggerFactory.getLogger(MemberLayoutArrangerDefault.class);
 
     public MemberLayoutArrangerDefault() {
         super(new MemberLayoutArrangerUsingOrderMethod(), new MemberLayoutArrangerUsingMemberOrderFacet());

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/progmodel/layout/ordermethod/MemberLayoutArrangerUsingOrderMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/layout/ordermethod/MemberLayoutArrangerUsingOrderMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/layout/ordermethod/MemberLayoutArrangerUsingOrderMethod.java
index 3ff52c9..aa4100c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/layout/ordermethod/MemberLayoutArrangerUsingOrderMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/layout/ordermethod/MemberLayoutArrangerUsingOrderMethod.java
@@ -21,7 +21,8 @@ import java.lang.reflect.Method;
 import java.util.Arrays;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.commons.lang.JavaClassUtils;
 import org.apache.isis.core.commons.lang.StringUtils;
@@ -37,7 +38,7 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 
 public class MemberLayoutArrangerUsingOrderMethod implements MemberLayoutArranger {
 
-    private static final Logger LOG = Logger.getLogger(MemberLayoutArrangerUsingOrderMethod.class);
+    private static final Logger LOG = LoggerFactory.getLogger(MemberLayoutArrangerUsingOrderMethod.class);
 
     private static final Object[] NO_PARAMETERS = new Object[0];
     private static final Class<?>[] NO_PARAMETERS_TYPES = new Class[0];

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/runtime/about/AboutIsis.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/about/AboutIsis.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/about/AboutIsis.java
index 6b84986..f8775fc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/about/AboutIsis.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/runtime/about/AboutIsis.java
@@ -96,7 +96,7 @@ public class AboutIsis {
     }
 
     public static String getFrameworkName() {
-        return select(frameworkName, "Apache Isis (incubating)");
+        return select(frameworkName, "Apache Isis");
     }
 
     public static String getImageName() {

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageImpl.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageImpl.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageImpl.java
index 88d30d6..138e540 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageImpl.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageImpl.java
@@ -23,7 +23,8 @@ import java.awt.Canvas;
 import java.awt.Image;
 import java.awt.MediaTracker;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Many icons are based on the same image, but in different sizes and possibly
@@ -31,7 +32,7 @@ import org.apache.log4j.Logger;
  * can provide it clients with the full sized images or scaled images.
  */
 public class TemplateImageImpl implements TemplateImage {
-    private final static Logger LOG = Logger.getLogger(TemplateImageImpl.class);
+    private final static Logger LOG = LoggerFactory.getLogger(TemplateImageImpl.class);
 
     /**
      * Factory method.

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwt.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwt.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwt.java
index 75d0722..a55c7d1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwt.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwt.java
@@ -35,7 +35,8 @@ import java.util.Hashtable;
 import java.util.List;
 import java.util.Vector;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.lang.ResourceUtil;
@@ -50,7 +51,7 @@ import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
  */
 public class TemplateImageLoaderAwt implements TemplateImageLoader {
 
-    private final static Logger LOG = Logger.getLogger(TemplateImageLoaderAwt.class);
+    private final static Logger LOG = LoggerFactory.getLogger(TemplateImageLoaderAwt.class);
 
     private static final String LOAD_IMAGES_FROM_FILES_KEY = ImageConstants.PROPERTY_BASE + "load-images-from-files";
     private static final String[] EXTENSIONS = { "png", "gif", "jpg", "jpeg", "svg" };

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/FileSnapshotAppender.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/FileSnapshotAppender.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/FileSnapshotAppender.java
deleted file mode 100644
index 0da6b3d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/FileSnapshotAppender.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.runtime.logging;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.TriggeringEventEvaluator;
-
-public class FileSnapshotAppender extends SnapshotAppender {
-    private static final Logger LOG = Logger.getLogger(FileSnapshotAppender.class);
-    private String directoryPath;
-    private String extension;
-    private String fileName = "log-snapshot-";
-
-    public FileSnapshotAppender(final TriggeringEventEvaluator evaluator) {
-        super(evaluator);
-    }
-
-    public FileSnapshotAppender() {
-        super();
-    }
-
-    public synchronized String getDirectory() {
-        return directoryPath;
-    }
-
-    public synchronized String getExtension() {
-        return extension;
-    }
-
-    public synchronized String getFileName() {
-        return fileName;
-    }
-
-    public synchronized void setDirectory(final String directoryPath) {
-        this.directoryPath = directoryPath;
-    }
-
-    public synchronized void setExtension(final String extension) {
-        this.extension = extension;
-    }
-
-    public synchronized void setFileName(final String fileName) {
-        this.fileName = fileName;
-    }
-
-    @Override
-    protected synchronized void writeSnapshot(final String message, final String details) {
-        SnapshotWriter s;
-        try {
-            final String contentType = layout.getContentType();
-            final String fileExtension = isEmpty(extension) ? contentType.substring(contentType.indexOf('/') + 1) : extension;
-            s = new SnapshotWriter(directoryPath, fileName, fileExtension, message);
-            s.appendLog(details);
-            s.close();
-        } catch (final FileNotFoundException e) {
-            LOG.error("failed to open log file", e);
-        } catch (final IOException e) {
-            LOG.error("failed to write log file", e);
-        }
-    }
-
-    private boolean isEmpty(final String extension2) {
-        return extension2 == null || extension2.length() == 0;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/IsisLoggingConfigurer.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/IsisLoggingConfigurer.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/IsisLoggingConfigurer.java
deleted file mode 100644
index efee605..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/IsisLoggingConfigurer.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.runtime.logging;
-
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
-
-import org.apache.log4j.Appender;
-import org.apache.log4j.BasicConfigurator;
-import org.apache.log4j.ConsoleAppender;
-import org.apache.log4j.Layout;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.PatternLayout;
-import org.apache.log4j.PropertyConfigurator;
-
-import org.apache.isis.core.commons.lang.IoUtils;
-
-public class IsisLoggingConfigurer {
-
-    private boolean loggingSetup;
-
-    /**
-     * As per {@link #configureLogging(String)}.
-     * 
-     * <p>
-     * The root logging level can also be adjusted using command line arguments.
-     */
-    public void configureLogging(final String configDirectory, final String[] args) {
-        if (loggingSetup) {
-            return;
-        }
-        loggingSetup = true;
-        configureLogging(configDirectory);
-        applyLoggingLevelFromCommandLine(args);
-    }
-
-    private static void applyLoggingLevelFromCommandLine(final String[] args) {
-        final Level loggingLevel = loggingLevel(args);
-        if (loggingLevel != null) {
-            Logger.getRootLogger().setLevel(loggingLevel);
-        }
-    }
-
-    /**
-     * Sets up logging using either a logging file or (if cannot be found) some
-     * sensible defaults.
-     * 
-     * <p>
-     * If a {@link LoggingConstants#LOGGING_CONFIG_FILE logging config file} can
-     * be located in the provided directory, then that is used. Otherwise, will
-     * set up the {@link Logger#getRootLogger() root logger} to
-     * {@link Level#WARN warning}, a typical {@link PatternLayout} and logging
-     * to the {@link ConsoleAppender console}.
-     */
-    private static void configureLogging(final String configDirectory) {
-        final Properties properties = new Properties();
-        final String path = configDirectory + "/" + LoggingConstants.LOGGING_CONFIG_FILE;
-        FileInputStream inStream = null;
-        try {
-            inStream = new FileInputStream(path);
-            properties.load(inStream);
-        } catch (final IOException ignore) {
-            // ignore
-        } finally {
-            IoUtils.closeSafely(inStream);
-        }
-
-        if (properties.size() == 0) {
-            InputStream inStream2 = null;
-            try {
-                final ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
-                inStream2 = classLoader.getResourceAsStream(path);
-                if (inStream2 != null) {
-                    properties.load(inStream2);
-                }
-            } catch (final IOException ignore) {
-            } finally {
-                IoUtils.closeSafely(inStream2);
-            }
-        }
-
-        if (properties.size() > 0) {
-            PropertyConfigurator.configure(properties);
-        } else {
-            configureFallbackLogging();
-        }
-    }
-
-    private static void configureFallbackLogging() {
-        final Layout layout = new PatternLayout("%-5r [%-25.25c{1} %-10.10t %-5.5p]  %m%n");
-        final Appender appender = new ConsoleAppender(layout);
-        BasicConfigurator.configure(appender);
-        Logger.getRootLogger().setLevel(Level.WARN);
-        Logger.getLogger("ui").setLevel(Level.OFF);
-    }
-
-    private static Level loggingLevel(final String[] args) {
-        Level level = null;
-        for (final String arg : args) {
-            if (arg.equals("-" + LoggingConstants.DEBUG_OPT)) {
-                level = Level.DEBUG;
-                break;
-            } else if (arg.equals("-" + LoggingConstants.QUIET_OPT)) {
-                level = Level.ERROR;
-                break;
-            } else if (arg.equals("-" + LoggingConstants.VERBOSE_OPT)) {
-                level = Level.INFO;
-                break;
-            }
-        }
-        return level;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/Logger.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/Logger.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/Logger.java
deleted file mode 100644
index a4c9236..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/Logger.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.runtime.logging;
-
-import org.apache.log4j.Level;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-
-public abstract class Logger {
-    public static final String PROPERTY_ROOT = ConfigurationConstants.ROOT + "logging.";
-    private org.apache.log4j.Logger logger;
-    private final Level level;
-
-    public Logger() {
-        this(Level.DEBUG);
-    }
-
-    public Logger(final String level) {
-        this.level = Level.toLevel(level);
-    }
-
-    public Logger(final Level level) {
-        this.level = level;
-    }
-
-    protected abstract Class<?> getDecoratedClass();
-
-    public void log(final String message) {
-        logger().log(level, message);
-    }
-
-    public void log(final String request, final Object result) {
-        log(request + "  -> " + result);
-    }
-
-    private org.apache.log4j.Logger logger() {
-        if (logger == null) {
-            logger = org.apache.log4j.Logger.getLogger(getDecoratedClass());
-        }
-        return logger;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/LoggingConstants.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/LoggingConstants.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/LoggingConstants.java
deleted file mode 100644
index 06f2073..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/LoggingConstants.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.runtime.logging;
-
-public final class LoggingConstants {
-
-    public static final String LOGGING_CONFIG_FILE = "logging.properties";
-
-    public static final String DEBUG_OPT = "debug";
-    public static final String VERBOSE_OPT = "verbose";
-    public static final String QUIET_OPT = "quiet";
-
-    private LoggingConstants() {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/PopupSnapshotAppender.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/PopupSnapshotAppender.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/PopupSnapshotAppender.java
deleted file mode 100644
index 9c98316..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/PopupSnapshotAppender.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.runtime.logging;
-
-import java.awt.BorderLayout;
-import java.awt.Button;
-import java.awt.Color;
-import java.awt.FlowLayout;
-import java.awt.Font;
-import java.awt.Frame;
-import java.awt.Panel;
-import java.awt.TextArea;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-
-import org.apache.log4j.spi.TriggeringEventEvaluator;
-
-public class PopupSnapshotAppender extends SnapshotAppender {
-
-    public PopupSnapshotAppender(final TriggeringEventEvaluator evaluator) {
-        super(evaluator);
-    }
-
-    public PopupSnapshotAppender() {
-        super();
-    }
-
-    @Override
-    protected void writeSnapshot(final String message, final String details) {
-        final SubmitDialog dialog = new SubmitDialog("Error logged");
-        dialog.show(message, details);
-    }
-}
-
-class SubmitDialog extends Frame {
-    private static final long serialVersionUID = 1L;
-
-    public SubmitDialog(final String title) {
-        super(title);
-        setLayout(new BorderLayout());
-        setBounds(0, 200, 800, 400);
-    }
-
-    public void show(final String message, final String text) {
-        final TextArea messagePanel = new TextArea();
-        messagePanel.setText(message + "\n\n" + text);
-        messagePanel.setForeground(Color.black);
-        messagePanel.setEditable(false);
-        messagePanel.setFont(new Font("Dialog", Font.PLAIN, 9));
-
-        add(messagePanel, BorderLayout.CENTER);
-
-        final Panel buttonPanel = new Panel();
-        buttonPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 20, 0));
-        add(buttonPanel, BorderLayout.SOUTH);
-
-        final Button ok = new Button("Close");
-        ok.addActionListener(new ActionListener() {
-            @Override
-            public void actionPerformed(final ActionEvent e) {
-                ok(true);
-            }
-        });
-        buttonPanel.add(ok);
-
-        /*
-         * Button cancel = new Button("Save and Close"); cancel
-         * .addActionListener(new ActionListener() { public void
-         * actionPerformed(final ActionEvent e) { ok(false); } });
-         * buttonPanel.add(cancel);
-         */
-        addWindowListener(new WindowAdapter() {
-            @Override
-            public void windowClosing(final WindowEvent e) {
-                ok(false);
-            }
-        });
-
-        setVisible(true);
-    }
-
-    protected synchronized void ok(final boolean b) {
-        dispose();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SmtpExtendedAppender.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SmtpExtendedAppender.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SmtpExtendedAppender.java
deleted file mode 100644
index 3978b95..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SmtpExtendedAppender.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.runtime.logging;
-
-import java.io.UnsupportedEncodingException;
-
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeUtility;
-
-import org.apache.log4j.net.SMTPAppender;
-import org.apache.log4j.spi.LoggingEvent;
-import org.apache.log4j.spi.TriggeringEventEvaluator;
-
-public class SmtpExtendedAppender extends SMTPAppender {
-
-    public SmtpExtendedAppender() {
-        super();
-    }
-
-    public SmtpExtendedAppender(final TriggeringEventEvaluator evaluator) {
-        super(evaluator);
-    }
-
-    @Override
-    public void append(final LoggingEvent event) {
-        if (evaluator.isTriggeringEvent(event)) {
-            try {
-                final String subject = limitToFirstLine(String.valueOf(event.getMessage()));
-                final String encodedSubject = MimeUtility.encodeText(subject, "UTF-8", null);
-                msg.setSubject(encodedSubject);
-            } catch (final UnsupportedEncodingException e) {
-                // ???
-            } catch (final MessagingException e) {
-                // ???
-            }
-        }
-        super.append(event);
-    }
-
-    private String limitToFirstLine(String subject) {
-        final int newline = subject.indexOf('\n');
-        final int carriageReturn = subject.indexOf('\r');
-        if (newline != -1 || carriageReturn != -1) {
-            final int pos = Math.max(newline, carriageReturn);
-            subject = subject.substring(0, pos);
-        }
-        return subject;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SmtpSnapshotAppender.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SmtpSnapshotAppender.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SmtpSnapshotAppender.java
deleted file mode 100644
index 0eef303..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SmtpSnapshotAppender.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.runtime.logging;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.net.Socket;
-
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.TriggeringEventEvaluator;
-
-public class SmtpSnapshotAppender extends SnapshotAppender {
-    private static final Logger LOG = Logger.getLogger(SmtpSnapshotAppender.class);
-    private String server;
-    private String recipient;
-    private int port = 25;
-    private String senderDomain = "localhost";
-
-    public SmtpSnapshotAppender(final TriggeringEventEvaluator evaluator) {
-        super(evaluator);
-    }
-
-    public SmtpSnapshotAppender() {
-        super();
-    }
-
-    public void setServer(final String mailServer) {
-        if (mailServer == null) {
-            throw new NullPointerException("mail server cannot be null");
-        }
-        this.server = mailServer;
-    }
-
-    public void setRecipient(final String recipient) {
-        if (recipient == null) {
-            throw new NullPointerException("recipient cannot be null");
-        }
-        this.recipient = recipient;
-    }
-
-    public void setPort(final int port) {
-        this.port = port;
-    }
-
-    public void setSenderDomain(final String senderDomain) {
-        if (senderDomain == null) {
-            throw new NullPointerException("sender domain cannot be null");
-        }
-        this.senderDomain = senderDomain;
-    }
-
-    @Override
-    protected void writeSnapshot(final String message, final String details) {
-        try {
-            if (server == null) {
-                throw new NullPointerException("mail server must be specified");
-            }
-            if (recipient == null) {
-                throw new NullPointerException("recipient must be specified");
-            }
-
-            final Socket s = new Socket(server, port);
-            final BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream(), "8859_1"));
-            final BufferedWriter out = new BufferedWriter(new OutputStreamWriter(s.getOutputStream(), "8859_1"));
-
-            send(in, out, "HELO " + senderDomain);
-            // warning : some mail server validate the sender address
-            // in the MAIL FROm command, put your real address here
-
-            send(in, out, "MAIL FROM: <no-reply@" + senderDomain + ">");
-            send(in, out, "RCPT TO: " + recipient);
-            send(in, out, "DATA");
-            send(out, "Subject: " + message);
-            send(out, "From: Autosend");
-            send(out, "Content-Type: " + layout.getContentType());
-
-            send(out, "\r\n");
-
-            // message body
-            send(out, details);
-            send(in, out, "\r\n.\r\n");
-            send(in, out, "QUIT");
-            s.close();
-        } catch (final Exception e) {
-            LOG.info("failed to send email with log", e);
-        }
-    }
-
-    private void send(final BufferedReader in, final BufferedWriter out, final String s) throws IOException {
-        out.write(s + "\r\n");
-        out.flush();
-        System.out.println(">  " + s);
-        final String r = in.readLine();
-        System.out.println("<  " + r);
-    }
-
-    private void send(final BufferedWriter out, final String s) throws IOException {
-        out.write(s + "\r\n");
-        out.flush();
-        System.out.println(">> " + s);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SnapshotAppender.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SnapshotAppender.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SnapshotAppender.java
deleted file mode 100644
index ac222e9..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SnapshotAppender.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.runtime.logging;
-
-import java.util.Date;
-
-import org.apache.log4j.AppenderSkeleton;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.helpers.CyclicBuffer;
-import org.apache.log4j.helpers.OptionConverter;
-import org.apache.log4j.spi.LoggingEvent;
-import org.apache.log4j.spi.TriggeringEventEvaluator;
-
-import org.apache.isis.core.runtime.about.AboutIsis;
-
-class DefaultEvaluator implements TriggeringEventEvaluator {
-    @Override
-    public boolean isTriggeringEvent(final LoggingEvent event) {
-        return event.getLevel().isGreaterOrEqual(Level.ERROR);
-    }
-}
-
-public abstract class SnapshotAppender extends AppenderSkeleton {
-    private int bufferSize = 512;
-    protected CyclicBuffer buffer = new CyclicBuffer(bufferSize);
-    private boolean locationInfo = false;
-    protected TriggeringEventEvaluator triggerEvaluator;
-    private boolean addInfo;
-
-    /**
-     * The default constructor will instantiate the appender with a
-     * {@link TriggeringEventEvaluator} that will trigger on events with level
-     * ERROR or higher.
-     */
-    public SnapshotAppender() {
-        this(new DefaultEvaluator());
-    }
-
-    public SnapshotAppender(final TriggeringEventEvaluator evaluator) {
-        this.triggerEvaluator = evaluator;
-    }
-
-    @Override
-    public void append(final LoggingEvent event) {
-        if (shouldAppend()) {
-            event.getThreadName();
-            event.getNDC();
-            if (locationInfo) {
-                event.getLocationInformation();
-            }
-            buffer.add(event);
-            if (triggerEvaluator.isTriggeringEvent(event)) {
-                writeSnapshot(buffer);
-            }
-        }
-    }
-
-    public void forceSnapshot() {
-        writeSnapshot(buffer);
-    }
-
-    /**
-     * Send the contents of the cyclic buffer as an web server posting.
-     */
-    private void writeSnapshot(final CyclicBuffer buffer) {
-        final StringBuffer details = new StringBuffer();
-        final String header = layout.getHeader();
-        if (header != null) {
-            details.append(header);
-        }
-
-        if (addInfo) {
-            final String user = System.getProperty("user.name");
-            final String system = System.getProperty("os.name") + " (" + System.getProperty("os.arch") + ") " + System.getProperty("os.version");
-            final String java = System.getProperty("java.vm.name") + " " + System.getProperty("java.vm.version");
-            final String version = AboutIsis.getFrameworkVersion();
-
-            final LoggingEvent infoEvent = new LoggingEvent("", Logger.getRootLogger(), Level.INFO, "Snapshot:- " + new Date() + "\n\t" + user + "\n\t" + system + "\n\t" + java + "\n\t" + version, null);
-            details.append(layout.format(infoEvent));
-        }
-
-        final int len = buffer.length();
-        String message = "";
-        for (int i = 0; i < len; i++) {
-            final LoggingEvent event = buffer.get();
-            message = event.getLoggerName() + ": " + event.getMessage();
-            details.append(layout.format(event));
-            if (layout.ignoresThrowable()) {
-                final String[] s = event.getThrowableStrRep();
-                if (s != null) {
-                    for (final String element : s) {
-                        details.append(element);
-                        details.append('\n');
-                    }
-                }
-            }
-        }
-
-        final String footer = layout.getFooter();
-        if (footer != null) {
-            details.append(footer);
-        }
-
-        writeSnapshot(message, details.toString());
-    }
-
-    protected abstract void writeSnapshot(final String message, final String details);
-
-    @Override
-    synchronized public void close() {
-        this.closed = true;
-    }
-
-    public int getBufferSize() {
-        return bufferSize;
-    }
-
-    public String getEvaluatorClass() {
-        return triggerEvaluator == null ? null : triggerEvaluator.getClass().getName();
-    }
-
-    public boolean getLocationInfo() {
-        return locationInfo;
-    }
-
-    /**
-     * returns true to show that this appender requires a
-     * {@linkorg.apache.log4j.Layout layout}.
-     */
-    @Override
-    public boolean requiresLayout() {
-        return true;
-    }
-
-    public void setBufferSize(final int bufferSize) {
-        this.bufferSize = bufferSize;
-        buffer.resize(bufferSize);
-    }
-
-    public void setEvaluatorClass(final String value) {
-        triggerEvaluator = (TriggeringEventEvaluator) OptionConverter.instantiateByClassName(value, TriggeringEventEvaluator.class, triggerEvaluator);
-    }
-
-    public void setAddInfo(final boolean addInfo) {
-        this.addInfo = addInfo;
-    }
-
-    public void setLocationInfo(final boolean locationInfo) {
-        this.locationInfo = locationInfo;
-    }
-
-    protected boolean shouldAppend() {
-        if (triggerEvaluator == null) {
-            errorHandler.error("No TriggeringEventEvaluator is set for appender [" + name + "].");
-            return false;
-        }
-
-        if (layout == null) {
-            errorHandler.error("No layout set for appender named [" + name + "].");
-            return false;
-        }
-
-        return true;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SnapshotServer.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SnapshotServer.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SnapshotServer.java
deleted file mode 100644
index a8b05e3..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SnapshotServer.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.runtime.logging;
-
-import java.io.BufferedReader;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.util.Properties;
-
-import org.apache.log4j.BasicConfigurator;
-import org.apache.log4j.Logger;
-
-public class SnapshotServer {
-    private static final String SNAPSHOT_PROPERTIES = "snapshot.properties";
-    private static final Logger LOG = Logger.getLogger(SnapshotServer.class);
-
-    public static void main(final String[] args) {
-        BasicConfigurator.configure();
-
-        int port;
-        String directoryPath;
-        String fileName;
-        String extension;
-
-        final Properties prop = new Properties();
-        FileInputStream propIn = null;
-        try {
-            propIn = new FileInputStream(SNAPSHOT_PROPERTIES);
-            prop.load(propIn);
-        } catch (final FileNotFoundException e) {
-            LOG.error("failed to load properties file, " + SNAPSHOT_PROPERTIES);
-            return;
-        } catch (final IOException e) {
-            LOG.error("failed to read properties file, " + SNAPSHOT_PROPERTIES, e);
-            return;
-        } finally {
-            if (propIn != null) {
-                try {
-                    propIn.close();
-                } catch (final IOException e) {
-                    LOG.error("failed to close properties file, " + SNAPSHOT_PROPERTIES, e);
-                    return;
-                }
-            }
-        }
-
-        final String prefix = "isis.snapshot.";
-        final String portString = prop.getProperty(prefix + "port", "9289");
-        port = Integer.valueOf(portString).intValue();
-        directoryPath = prop.getProperty(prefix + "directory", ".");
-        fileName = prop.getProperty(prefix + "filename", "log-snapshot-");
-        extension = prop.getProperty(prefix + "extension", "txt");
-
-        ServerSocket server;
-        try {
-            server = new ServerSocket(port);
-        } catch (final IOException e) {
-            LOG.error("failed to start server", e);
-            return;
-        }
-
-        while (true) {
-            try {
-                final Socket s = server.accept();
-
-                LOG.info("receiving log from " + s.getInetAddress().getHostName());
-
-                final BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream(), "8859_1"));
-
-                final String message = in.readLine();
-                final SnapshotWriter w = new SnapshotWriter(directoryPath, fileName, extension, message);
-                String line;
-                while ((line = in.readLine()) != null) {
-                    w.appendLog(line);
-                }
-                s.close();
-
-                in.close();
-            } catch (final IOException e) {
-                LOG.error("failed to log", e);
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SnapshotWriter.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SnapshotWriter.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SnapshotWriter.java
deleted file mode 100644
index f1b56bf..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SnapshotWriter.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.runtime.logging;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.io.RandomAccessFile;
-import java.text.Format;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-public class SnapshotWriter {
-    private static final Format FORMAT = new SimpleDateFormat("yyyyMMdd-HHmmss-SSS");
-    private final PrintStream os;
-
-    public SnapshotWriter(final String directoryPath, final String baseFileName, final String fileExtension, final String message) throws IOException {
-        final File dir = new File(directoryPath == null || directoryPath.length() == 0 ? "." : directoryPath);
-        if (!dir.exists()) {
-            @SuppressWarnings("unused")
-            final boolean created = dir.mkdirs();
-        }
-
-        final File indexFile = new File(dir, "index.txt");
-        final Date date = new Date();
-        final File logFile = new File(dir, baseFileName + FORMAT.format(date) + "." + fileExtension);
-
-        final RandomAccessFile index = new RandomAccessFile(indexFile, "rw");
-        index.seek(index.length());
-        index.writeBytes(logFile.getName() + ": " + message + "\n");
-        index.close();
-
-        os = new PrintStream(new FileOutputStream(logFile));
-    }
-
-    public void appendLog(final String details) {
-        os.println(details);
-    }
-
-    public void close() {
-        if (os != null) {
-            os.close();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SocketSnapshotAppender.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SocketSnapshotAppender.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SocketSnapshotAppender.java
deleted file mode 100644
index ba31bfd..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/SocketSnapshotAppender.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.runtime.logging;
-
-import java.io.BufferedWriter;
-import java.io.OutputStreamWriter;
-import java.net.ConnectException;
-import java.net.Socket;
-
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.TriggeringEventEvaluator;
-
-public class SocketSnapshotAppender extends SnapshotAppender {
-    private static final Logger LOG = Logger.getLogger(SmtpSnapshotAppender.class);
-    private int port = 9289;
-    private String server;
-
-    public SocketSnapshotAppender(final TriggeringEventEvaluator evaluator) {
-        super(evaluator);
-    }
-
-    public SocketSnapshotAppender() {
-        super();
-    }
-
-    public void setPort(final int port) {
-        this.port = port;
-    }
-
-    public void setServer(final String mailServer) {
-        if (mailServer == null) {
-            throw new IllegalArgumentException("mail server not specified");
-        }
-        this.server = mailServer;
-    }
-
-    @Override
-    protected void writeSnapshot(final String message, final String details) {
-        try {
-            if (server == null) {
-                throw new IllegalStateException("mail server not specified");
-            }
-
-            final Socket s = new Socket(server, port);
-
-            final BufferedWriter out = new BufferedWriter(new OutputStreamWriter(s.getOutputStream(), "8859_1"));
-
-            out.write(message + "\n");
-            out.write(details + "\n");
-
-            out.flush();
-
-            s.close();
-        } catch (final ConnectException e) {
-            LOG.info("failed to connect to server " + server);
-        } catch (final Exception e) {
-            LOG.info("failed to send email with log", e);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/WebSnapshotAppender.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/WebSnapshotAppender.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/WebSnapshotAppender.java
deleted file mode 100644
index edd25d9..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/logging/WebSnapshotAppender.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.runtime.logging;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.net.URLEncoder;
-import java.net.UnknownHostException;
-
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.TriggeringEventEvaluator;
-
-public class WebSnapshotAppender extends SnapshotAppender {
-    private static class HttpQueryWriter extends OutputStreamWriter {
-
-        private int parameter = 1;
-
-        public HttpQueryWriter(final OutputStream outputStream) throws UnsupportedEncodingException {
-            super(outputStream, "ASCII");
-        }
-
-        public void addParameter(final String name, final String value) throws IOException {
-            if (name == null || value == null) {
-                return;
-            }
-
-            if (parameter > 1) {
-                write("&");
-            }
-            parameter++;
-            write(URLEncoder.encode(name, "UTF-8"));
-            write("=");
-            write(URLEncoder.encode(value, "UTF-8"));
-        }
-
-        @Override
-        public void close() throws IOException {
-            write("\r\n");
-            flush();
-            super.close();
-        }
-    }
-
-    private static final Logger LOG = Logger.getLogger(WebSnapshotAppender.class);
-    private String proxyAddress;
-    private int proxyPort = -1;
-
-    private String url_spec = "http://development.isis.net/errors/log.php";
-
-    /**
-     * The default constructor will instantiate the appender with a
-     * {@link TriggeringEventEvaluator} that will trigger on events with level
-     * ERROR or higher.
-     */
-    public WebSnapshotAppender() {
-    }
-
-    public WebSnapshotAppender(final TriggeringEventEvaluator evaluator) {
-        super(evaluator);
-    }
-
-    public String getProxyAddress() {
-        return proxyAddress;
-    }
-
-    public int getProxyPort() {
-        return proxyPort;
-    }
-
-    public void setProxyAddress(final String proxyAddess) {
-        this.proxyAddress = proxyAddess;
-    }
-
-    public void setProxyPort(final int proxyPort) {
-        this.proxyPort = proxyPort;
-    }
-
-    public void setUrl(final String url) {
-        url_spec = url;
-    }
-
-    @Override
-    protected void writeSnapshot(final String message, final String details) {
-        try {
-            final URL url = proxyAddress == null ? new URL(url_spec) : new URL("http", proxyAddress, proxyPort, url_spec);
-            LOG.info("connect to " + url);
-            final URLConnection connection = url.openConnection();
-            connection.setDoOutput(true);
-            final HttpQueryWriter out = new HttpQueryWriter(connection.getOutputStream());
-            out.addParameter("error", message);
-            out.addParameter("trace", details);
-            out.close();
-
-            final InputStream in = connection.getInputStream();
-            int c;
-            final StringBuffer result = new StringBuffer();
-            while ((c = in.read()) != -1) {
-                result.append((char) c);
-            }
-            LOG.info(result);
-
-            in.close();
-
-        } catch (final UnknownHostException e) {
-            LOG.info("could not find host (unknown host) to submit log to");
-        } catch (final IOException e) {
-            LOG.debug("i/o problem submitting log", e);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/runtime/snapshot/XmlSnapshot.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/snapshot/XmlSnapshot.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/snapshot/XmlSnapshot.java
index f0591d8..54d49ba 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/snapshot/XmlSnapshot.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/runtime/snapshot/XmlSnapshot.java
@@ -29,7 +29,8 @@ import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -76,7 +77,7 @@ import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
  */
 public class XmlSnapshot {
 
-    private static final Logger LOG = Logger.getLogger(XmlSnapshot.class);
+    private static final Logger LOG = LoggerFactory.getLogger(XmlSnapshot.class);
 
     private final IsisSchema isisMetaModel;
 

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/webapp/config/IsisConfigurationBuilderForWebapp.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/webapp/config/IsisConfigurationBuilderForWebapp.java b/core/metamodel/src/main/java/org/apache/isis/core/webapp/config/IsisConfigurationBuilderForWebapp.java
index 0127a64..772e5b8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/webapp/config/IsisConfigurationBuilderForWebapp.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/webapp/config/IsisConfigurationBuilderForWebapp.java
@@ -21,7 +21,8 @@ package org.apache.isis.core.webapp.config;
 
 import javax.servlet.ServletContext;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
 import org.apache.isis.core.commons.config.IsisConfigurationBuilderFileSystem;
@@ -34,7 +35,7 @@ import org.apache.isis.core.commons.config.IsisConfigurationBuilderResourceStrea
 public class IsisConfigurationBuilderForWebapp extends IsisConfigurationBuilderResourceStreams {
 
     @SuppressWarnings("unused")
-    private static final Logger LOG = Logger.getLogger(IsisConfigurationBuilderFileSystem.class);
+    private static final Logger LOG = LoggerFactory.getLogger(IsisConfigurationBuilderFileSystem.class);
 
     public IsisConfigurationBuilderForWebapp(final ServletContext servletContext) {
         super(new ResourceStreamSourceForWebInf(servletContext));

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/webapp/content/ResourceServlet.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/webapp/content/ResourceServlet.java b/core/metamodel/src/main/java/org/apache/isis/core/webapp/content/ResourceServlet.java
index da204e2..13d5e7c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/webapp/content/ResourceServlet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/webapp/content/ResourceServlet.java
@@ -29,7 +29,8 @@ import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.commons.lang.IoUtils;
 import org.apache.isis.core.commons.lang.ResourceUtil;
@@ -37,7 +38,7 @@ import org.apache.isis.core.commons.lang.StringUtils;
 
 public class ResourceServlet extends HttpServlet {
 
-    private static final Logger LOG = Logger.getLogger(ResourceServlet.class);
+    private static final Logger LOG = LoggerFactory.getLogger(ResourceServlet.class);
     private static final long serialVersionUID = 1L;
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/core/webapp/routing/RedirectToDocsFilter.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/webapp/routing/RedirectToDocsFilter.java b/core/metamodel/src/main/java/org/apache/isis/core/webapp/routing/RedirectToDocsFilter.java
index 79ee85b..b27a374 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/webapp/routing/RedirectToDocsFilter.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/webapp/routing/RedirectToDocsFilter.java
@@ -29,7 +29,8 @@ import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * This filter attempts to ensure that would-be users of the framework are
@@ -48,7 +49,7 @@ import org.apache.log4j.Logger;
  */
 public class RedirectToDocsFilter implements Filter {
 
-    private static final Logger LOG = Logger.getLogger(RedirectToDocsFilter.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RedirectToDocsFilter.class);
 
     private static final String REDIRECT_TO_KEY = "redirectTo";
     private static final String REDIRECT_TO_DEFAULT = "/index.html";

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java
index fdd0f11..5733f4b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java
+++ b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java
@@ -22,7 +22,8 @@ package org.apache.isis.progmodels.dflt;
 import java.util.Collection;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facetapi.ClassSubstitutorFactory;
@@ -44,7 +45,7 @@ import org.apache.isis.core.progmodel.layout.dflt.MemberLayoutArrangerDefault;
 public final class JavaReflectorHelper  {
     
     @SuppressWarnings("unused")
-    private static final Logger LOG = Logger.getLogger(JavaReflectorHelper.class);
+    private static final Logger LOG = LoggerFactory.getLogger(JavaReflectorHelper.class);
 
     private JavaReflectorHelper(){}
     

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstallerNoDecorators.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstallerNoDecorators.java b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstallerNoDecorators.java
index 9c2cf4a..86684f9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstallerNoDecorators.java
+++ b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstallerNoDecorators.java
@@ -27,7 +27,8 @@ import java.util.Set;
 
 import com.google.common.collect.Sets;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.commons.config.ConfigurationConstants;
 import org.apache.isis.core.commons.config.InstallerAbstract;
@@ -50,7 +51,7 @@ import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidator;
  */
 public class JavaReflectorInstallerNoDecorators extends InstallerAbstract implements ObjectReflectorInstaller {
 
-    private static final Logger LOG = Logger.getLogger(JavaReflectorInstallerNoDecorators.class);
+    private static final Logger LOG = LoggerFactory.getLogger(JavaReflectorInstallerNoDecorators.class);
 
     public static final String PROPERTY_BASE = ConfigurationConstants.ROOT;
 

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderFileSystemTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderFileSystemTest.java b/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderFileSystemTest.java
index d02a09f..2ddd9be 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderFileSystemTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderFileSystemTest.java
@@ -21,8 +21,10 @@ package org.apache.isis.core.commons.config;
 
 import junit.framework.TestCase;
 
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.commons.exceptions.IsisException;
 
@@ -31,7 +33,6 @@ public class ConfigurationBuilderFileSystemTest extends TestCase {
 
     @Override
     protected void setUp() throws Exception {
-        Logger.getRootLogger().setLevel(Level.OFF);
         loader = new IsisConfigurationBuilderFileSystem("src/test/config");
         loader.addDefaultConfigurationResources();
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderTwoDirectoriesTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderTwoDirectoriesTest.java b/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderTwoDirectoriesTest.java
index 81b2ebc..4709469 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderTwoDirectoriesTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderTwoDirectoriesTest.java
@@ -21,15 +21,16 @@ package org.apache.isis.core.commons.config;
 
 import junit.framework.TestCase;
 
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ConfigurationBuilderTwoDirectoriesTest extends TestCase {
     IsisConfigurationBuilderFileSystem builder;
 
     @Override
     protected void setUp() throws Exception {
-        Logger.getRootLogger().setLevel(Level.OFF);
         builder = new IsisConfigurationBuilderFileSystem("src/test/config", "src/test");
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/test/java/org/apache/isis/core/commons/config/IsisConfigurationDefault_PropertNamesTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/IsisConfigurationDefault_PropertNamesTest.java b/core/metamodel/src/test/java/org/apache/isis/core/commons/config/IsisConfigurationDefault_PropertNamesTest.java
index 1cfa45f..333e8c7 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/IsisConfigurationDefault_PropertNamesTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/commons/config/IsisConfigurationDefault_PropertNamesTest.java
@@ -23,9 +23,11 @@ import java.util.Properties;
 
 import junit.framework.TestCase;
 
-import org.apache.log4j.BasicConfigurator;
-import org.apache.log4j.Level;
-import org.apache.log4j.LogManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.LoggerFactory;
 
 public class IsisConfigurationDefault_PropertNamesTest extends TestCase {
 
@@ -37,8 +39,6 @@ public class IsisConfigurationDefault_PropertNamesTest extends TestCase {
 
     @Override
     protected void setUp() throws Exception {
-        BasicConfigurator.configure();
-        LogManager.getRootLogger().setLevel(Level.OFF);
 
         configuration = new IsisConfigurationDefault();
 

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/test/java/org/apache/isis/core/commons/config/IsisConfigurationDefault_WhitespaceTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/IsisConfigurationDefault_WhitespaceTest.java b/core/metamodel/src/test/java/org/apache/isis/core/commons/config/IsisConfigurationDefault_WhitespaceTest.java
index b3c05a8..c5a5753 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/IsisConfigurationDefault_WhitespaceTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/commons/config/IsisConfigurationDefault_WhitespaceTest.java
@@ -23,9 +23,11 @@ import java.util.Properties;
 
 import junit.framework.TestCase;
 
-import org.apache.log4j.BasicConfigurator;
-import org.apache.log4j.Level;
-import org.apache.log4j.LogManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.LoggerFactory;
 
 public class IsisConfigurationDefault_WhitespaceTest extends TestCase {
 
@@ -37,8 +39,6 @@ public class IsisConfigurationDefault_WhitespaceTest extends TestCase {
 
     @Override
     protected void setUp() throws Exception {
-        BasicConfigurator.configure();
-        LogManager.getRootLogger().setLevel(Level.OFF);
 
         configuration = new IsisConfigurationDefault();
 

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/AbstractFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/AbstractFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/AbstractFacetFactoryTest.java
index 34f6e67..7149b59 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/AbstractFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/AbstractFacetFactoryTest.java
@@ -24,9 +24,12 @@ import java.util.List;
 
 import junit.framework.TestCase;
 
-import org.apache.log4j.BasicConfigurator;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
@@ -58,9 +61,7 @@ public abstract class AbstractFacetFactoryTest extends TestCase {
 
     @Override
     protected void setUp() throws Exception {
-        Logger.getRootLogger().setLevel(Level.OFF);
         super.setUp();
-        BasicConfigurator.configure();
         reflector = new ProgrammableReflector();
         facetHolder = new FacetHolderImpl();
         facetedMethod = FacetedMethod.createForProperty(Customer.class, "firstName");

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/ordering/memberorder/DeweyOrderSetTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/ordering/memberorder/DeweyOrderSetTest.java b/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/ordering/memberorder/DeweyOrderSetTest.java
index 9581190..79bfbb9 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/ordering/memberorder/DeweyOrderSetTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/ordering/memberorder/DeweyOrderSetTest.java
@@ -26,8 +26,9 @@ import junit.framework.TestSuite;
 
 import com.google.common.collect.ImmutableList;
 
-import org.apache.log4j.Level;
-import org.apache.log4j.LogManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.layout.OrderSet;
@@ -79,7 +80,6 @@ public class DeweyOrderSetTest extends TestCase {
 
     @Override
     protected void setUp() {
-        LogManager.getLoggerRepository().setThreshold(Level.OFF);
 
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/ordering/memberorder/MemberOrderComparatorTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/ordering/memberorder/MemberOrderComparatorTest.java b/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/ordering/memberorder/MemberOrderComparatorTest.java
index d50c4fb..bf620ee 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/ordering/memberorder/MemberOrderComparatorTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/ordering/memberorder/MemberOrderComparatorTest.java
@@ -22,8 +22,9 @@ package org.apache.isis.core.progmodel.facets.ordering.memberorder;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
-import org.apache.log4j.Level;
-import org.apache.log4j.LogManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.layout.memberorderfacet.MemberOrderComparator;
@@ -50,7 +51,6 @@ public class MemberOrderComparatorTest extends TestCase {
 
     @Override
     protected void setUp() {
-        LogManager.getLoggerRepository().setThreshold(Level.OFF);
 
         comparator = new MemberOrderComparator(true);
         laxComparator = new MemberOrderComparator(false);

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/metamodel/src/test/java/org/apache/isis/progmodels/dflt/ObjectReflectorDefaultTestAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/progmodels/dflt/ObjectReflectorDefaultTestAbstract.java b/core/metamodel/src/test/java/org/apache/isis/progmodels/dflt/ObjectReflectorDefaultTestAbstract.java
index 02a2c08..e7adb8a 100644
--- a/core/metamodel/src/test/java/org/apache/isis/progmodels/dflt/ObjectReflectorDefaultTestAbstract.java
+++ b/core/metamodel/src/test/java/org/apache/isis/progmodels/dflt/ObjectReflectorDefaultTestAbstract.java
@@ -21,8 +21,10 @@ package org.apache.isis.progmodels.dflt;
 
 import java.util.HashSet;
 
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.jmock.Expectations;
 import org.jmock.auto.Mock;
 import org.junit.Assert;
@@ -67,7 +69,6 @@ public abstract class ObjectReflectorDefaultTestAbstract {
     
     @Before
     public void setUp() throws Exception {
-        Logger.getRootLogger().setLevel(Level.OFF);
 
         context.checking(new Expectations() {
             {

http://git-wip-us.apache.org/repos/asf/isis/blob/f4568b16/core/objectstore-inmemory/src/main/java/org/apache/isis/core/objectstore/InMemoryObjectStore.java
----------------------------------------------------------------------
diff --git a/core/objectstore-inmemory/src/main/java/org/apache/isis/core/objectstore/InMemoryObjectStore.java b/core/objectstore-inmemory/src/main/java/org/apache/isis/core/objectstore/InMemoryObjectStore.java
index f3a5e19..02674a3 100644
--- a/core/objectstore-inmemory/src/main/java/org/apache/isis/core/objectstore/InMemoryObjectStore.java
+++ b/core/objectstore-inmemory/src/main/java/org/apache/isis/core/objectstore/InMemoryObjectStore.java
@@ -26,7 +26,8 @@ import java.util.Vector;
 
 import com.google.common.collect.Lists;
 
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.commons.debug.DebugBuilder;
 import org.apache.isis.core.commons.debug.DebugUtils;
@@ -64,7 +65,7 @@ import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory
 
 public class InMemoryObjectStore implements ObjectStoreSpi {
 
-    private final static Logger LOG = Logger.getLogger(InMemoryObjectStore.class);
+    private final static Logger LOG = LoggerFactory.getLogger(InMemoryObjectStore.class);
 
     protected ObjectStorePersistedObjects persistedObjects;
 
@@ -385,7 +386,7 @@ public class InMemoryObjectStore implements ObjectStoreSpi {
                 try {
                     element = e.next();
                 } catch (final ClassCastException ex) {
-                    LOG.error(ex);
+                    LOG.error(ex.getMessage(), ex);
                     return s.toString();
                 }