You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2017/06/09 12:33:04 UTC

svn commit: r1798198 - in /sling/whiteboard/cziegeler: feature-analyser/ feature-analyser/src/main/java/org/apache/sling/feature/analyser/ feature-analyser/src/main/java/org/apache/sling/feature/analyser/main/ feature-analyser/src/main/java/org/apache/...

Author: cziegeler
Date: Fri Jun  9 12:33:03 2017
New Revision: 1798198

URL: http://svn.apache.org/viewvc?rev=1798198&view=rev
Log:
Use slf4j for logging

Removed:
    sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/Logger.java
Modified:
    sling/whiteboard/cziegeler/feature-analyser/pom.xml
    sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/Analyser.java
    sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/main/Main.java
    sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/tasks/CheckBundleExportsImports.java
    sling/whiteboard/cziegeler/feature-karaf/src/main/java/org/apache/sling/feature/karaf/KarafFeatureWriter.java
    sling/whiteboard/cziegeler/feature-launcher/pom.xml
    sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/FeatureProcessor.java
    sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/Main.java
    sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/launchers/AbstractRunner.java
    sling/whiteboard/cziegeler/feature-modelconverter/pom.xml
    sling/whiteboard/cziegeler/feature-modelconverter/src/main/java/org/apache/sling/feature/modelconverter/impl/Main.java
    sling/whiteboard/cziegeler/feature-support/pom.xml
    sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/ArtifactManager.java

Modified: sling/whiteboard/cziegeler/feature-analyser/pom.xml
URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-analyser/pom.xml?rev=1798198&r1=1798197&r2=1798198&view=diff
==============================================================================
--- sling/whiteboard/cziegeler/feature-analyser/pom.xml (original)
+++ sling/whiteboard/cziegeler/feature-analyser/pom.xml Fri Jun  9 12:33:03 2017
@@ -56,7 +56,7 @@
                         <outputDirectory>${project.build.directory}/classes</outputDirectory>
                         <overWriteReleases>false</overWriteReleases>
                         <overWriteSnapshots>true</overWriteSnapshots>
-                        <includeArtifactIds>org.apache.felix.converter,org.apache.sling.feature,org.apache.sling.feature.support,org.apache.sling.commons.johnzon,org.apache.sling.commons.osgi,osgi.core</includeArtifactIds>
+                        <includeArtifactIds>org.apache.felix.converter,org.apache.sling.feature,org.apache.sling.feature.support,org.apache.sling.commons.johnzon,org.apache.sling.commons.osgi,osgi.core,slf4j-api,slf4j-simple</includeArtifactIds>
                     </configuration>
                 </execution>
             </executions>
@@ -89,6 +89,15 @@
             <artifactId>osgi.core</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.feature</artifactId>
             <version>0.0.1-SNAPSHOT</version>

Modified: sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/Analyser.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/Analyser.java?rev=1798198&r1=1798197&r2=1798198&view=diff
==============================================================================
--- sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/Analyser.java (original)
+++ sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/Analyser.java Fri Jun  9 12:33:03 2017
@@ -39,8 +39,9 @@ import org.apache.sling.feature.Extensio
 import org.apache.sling.feature.KeyValueMap;
 import org.apache.sling.feature.support.ArtifactManager;
 import org.apache.sling.feature.support.ArtifactManagerConfig;
-import org.apache.sling.feature.support.Logger;
 import org.osgi.framework.Constants;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class Analyser {
 
@@ -48,6 +49,8 @@ public class Analyser {
 
     private final ArtifactManager artifactManager;
 
+    private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
     public Analyser(final ArtifactManagerConfig amConfig,
             final AnalyserTask...tasks)
     throws IOException {
@@ -88,7 +91,7 @@ public class Analyser {
 
     public void analyse(final Application app)
     throws Exception {
-        Logger.LOG.info("Starting application analyzer...");
+        logger.info("Starting application analyzer...");
 
         // get framework properties and update application
         final KeyValueMap frameworkProps = getFrameworkProperties(app);
@@ -108,7 +111,7 @@ public class Analyser {
 
         // execute analyser tasks
         for(final AnalyserTask task : tasks) {
-            Logger.LOG.info("- Executing " + task.getName() + "...");
+            logger.info("- Executing {}...", task.getName());
             task.execute(new AnalyserTaskContext() {
 
                 @Override
@@ -144,17 +147,17 @@ public class Analyser {
         }
 
         for(final String msg : warnings) {
-            Logger.LOG.warn(msg);
+            logger.warn(msg);
         }
         for(final String msg : errors) {
-            Logger.LOG.error(msg);
+            logger.error(msg);
         }
 
         if ( !errors.isEmpty() ) {
             throw new Exception("Analyser detected errors. See log output for error messages.");
         }
 
-        Logger.LOG.info("Provisioning model analyzer finished");
+        logger.info("Provisioning model analyzer finished");
     }
 
     private List<BundleInfo> getBundleInfos(final Application app)  throws Exception {

Modified: sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/main/Main.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/main/Main.java?rev=1798198&r1=1798197&r2=1798198&view=diff
==============================================================================
--- sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/main/Main.java (original)
+++ sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/main/Main.java Fri Jun  9 12:33:03 2017
@@ -25,20 +25,28 @@ import org.apache.sling.feature.Artifact
 import org.apache.sling.feature.analyser.Analyser;
 import org.apache.sling.feature.json.ApplicationJSONReader;
 import org.apache.sling.feature.support.ArtifactManagerConfig;
-import org.apache.sling.feature.support.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class Main {
 
     public static void main(final String[] args) {
-        Logger.LOG.log("Apache Sling Application Analyser");
-        Logger.LOG.log("");
+        // setup logging
+        System.setProperty("org.slf4j.simpleLogger.defaultLogLevel", "info");
+        System.setProperty("org.slf4j.simpleLogger.showThreadName", "false");
+        System.setProperty("org.slf4j.simpleLogger.levelInBrackets", "true");
+        System.setProperty("org.slf4j.simpleLogger.showLogName", "false");
+
+        final Logger logger = LoggerFactory.getLogger("analyser");
+        logger.info("Apache Sling Application Analyser");
+        logger.info("");
 
         if ( args.length == 0 ) {
-            Logger.LOG.error("Required argument missing: application file");
+            logger.error("Required argument missing: application file");
             System.exit(1);
         }
         if ( args.length > 1 ) {
-            Logger.LOG.error("Too many arguments. Only one (application file) is supported");
+            logger.error("Too many arguments. Only one (application file) is supported");
             System.exit(1);
         }
         final File f = new File(args[0]);
@@ -46,7 +54,7 @@ public class Main {
         try ( final FileReader r = new FileReader(f)) {
             app = ApplicationJSONReader.read(r);
         } catch ( final IOException ioe) {
-            Logger.LOG.error("Unable to read application: {0}", ioe, f);
+            logger.error("Unable to read application: {}", f, ioe);
             System.exit(1);
         }
         if ( app.getFramework() == null ) {
@@ -60,7 +68,7 @@ public class Main {
             final Analyser analyser = new Analyser(new ArtifactManagerConfig());
             analyser.analyse(app);
         } catch ( final Exception e) {
-            Logger.LOG.error("Unable to analyse application: {0}", e, f);
+            logger.error("Unable to analyse application: {}", f, e);
             System.exit(1);
         }
     }

Modified: sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/tasks/CheckBundleExportsImports.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/tasks/CheckBundleExportsImports.java?rev=1798198&r1=1798197&r2=1798198&view=diff
==============================================================================
--- sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/tasks/CheckBundleExportsImports.java (original)
+++ sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/tasks/CheckBundleExportsImports.java Fri Jun  9 12:33:03 2017
@@ -31,7 +31,6 @@ import org.apache.sling.feature.analyser
 import org.apache.sling.feature.analyser.AnalyserTaskContext;
 import org.apache.sling.feature.analyser.BundleInfo;
 import org.apache.sling.feature.analyser.PackageInfo;
-import org.apache.sling.feature.support.Logger;
 import org.osgi.framework.Version;
 
 public class CheckBundleExportsImports implements AnalyserTask {
@@ -124,7 +123,6 @@ public class CheckBundleExportsImports i
         exportingBundles.add(system);
 
         for(final Map.Entry<Integer, List<BundleInfo>> entry : bundlesMap.entrySet()) {
-            Logger.LOG.debug("Processing start level {0} : {1}", entry.getKey(), entry.getValue());
             // first add all exporting bundles
             for(final BundleInfo info : entry.getValue()) {
                 if ( info.getExportedPackages() != null ) {

Modified: sling/whiteboard/cziegeler/feature-karaf/src/main/java/org/apache/sling/feature/karaf/KarafFeatureWriter.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-karaf/src/main/java/org/apache/sling/feature/karaf/KarafFeatureWriter.java?rev=1798198&r1=1798197&r2=1798198&view=diff
==============================================================================
--- sling/whiteboard/cziegeler/feature-karaf/src/main/java/org/apache/sling/feature/karaf/KarafFeatureWriter.java (original)
+++ sling/whiteboard/cziegeler/feature-karaf/src/main/java/org/apache/sling/feature/karaf/KarafFeatureWriter.java Fri Jun  9 12:33:03 2017
@@ -25,7 +25,6 @@ import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.io.Writer;
 import java.nio.file.Files;
-import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
@@ -35,6 +34,7 @@ import java.util.zip.ZipOutputStream;
 import org.apache.sling.feature.Artifact;
 import org.apache.sling.feature.ArtifactId;
 import org.apache.sling.feature.Configuration;
+import org.apache.sling.feature.Configurations;
 import org.apache.sling.feature.Extension;
 import org.apache.sling.feature.Feature;
 import org.apache.sling.feature.support.ArtifactHandler;
@@ -57,7 +57,8 @@ public class KarafFeatureWriter {
         File configurationBundleFile = null;
         Artifact configuratorBundle = null;
         try {
-            final List<Configuration> configs = new ArrayList<>(feature.getConfigurations());
+            final Configurations configs = new Configurations();
+            configs.addAll(feature.getConfigurations());
             if ( repoinitExt != null ) {
                 final Configuration cfg = new Configuration("org.apache.sling.jcr.repoinit.RepositoryInitializer",
                         "feature-" + feature.getId().getArtifactId());

Modified: sling/whiteboard/cziegeler/feature-launcher/pom.xml
URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-launcher/pom.xml?rev=1798198&r1=1798197&r2=1798198&view=diff
==============================================================================
--- sling/whiteboard/cziegeler/feature-launcher/pom.xml (original)
+++ sling/whiteboard/cziegeler/feature-launcher/pom.xml Fri Jun  9 12:33:03 2017
@@ -55,7 +55,7 @@
                         <outputDirectory>${project.build.directory}/classes</outputDirectory>
                         <overWriteReleases>false</overWriteReleases>
                         <overWriteSnapshots>true</overWriteSnapshots>
-                        <includeArtifactIds>org.apache.sling.feature,org.apache.sling.feature.support,org.apache.sling.commons.johnzon,org.apache.felix.converter,commons-cli</includeArtifactIds>
+                        <includeArtifactIds>org.apache.sling.feature,org.apache.sling.feature.support,org.apache.sling.commons.johnzon,org.apache.felix.converter,commons-cli,slf4j-api,slf4j-simple</includeArtifactIds>
                     </configuration>
                 </execution>
             </executions>
@@ -80,6 +80,15 @@
             <artifactId>osgi.core</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.feature</artifactId>
             <version>0.0.1-SNAPSHOT</version>

Modified: sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/FeatureProcessor.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/FeatureProcessor.java?rev=1798198&r1=1798197&r2=1798198&view=diff
==============================================================================
--- sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/FeatureProcessor.java (original)
+++ sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/FeatureProcessor.java Fri Jun  9 12:33:03 2017
@@ -32,7 +32,6 @@ import org.apache.sling.feature.launcher
 import org.apache.sling.feature.support.ArtifactHandler;
 import org.apache.sling.feature.support.ArtifactManager;
 import org.apache.sling.feature.support.FeatureUtil;
-import org.apache.sling.feature.support.Logger;
 
 public class FeatureProcessor {
 
@@ -54,7 +53,7 @@ public class FeatureProcessor {
         try (final FileWriter writer = new FileWriter(file)) {
             ApplicationJSONWriter.write(writer, app);
         } catch ( final IOException ioe) {
-            Logger.LOG.error("Error while writing application file: {0}", ioe, ioe.getMessage());
+            Main.LOG().error("Error while writing application file: {}", ioe.getMessage(), ioe);
             System.exit(1);
         }
 

Modified: sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/Main.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/Main.java?rev=1798198&r1=1798197&r2=1798198&view=diff
==============================================================================
--- sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/Main.java (original)
+++ sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/Main.java Fri Jun  9 12:33:03 2017
@@ -38,7 +38,8 @@ import org.apache.sling.feature.launcher
 import org.apache.sling.feature.launcher.spi.LauncherPrepareContext;
 import org.apache.sling.feature.support.ArtifactHandler;
 import org.apache.sling.feature.support.ArtifactManager;
-import org.apache.sling.feature.support.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * This is the launcher main class.
@@ -46,6 +47,15 @@ import org.apache.sling.feature.support.
  */
 public class Main {
 
+    private static Logger LOGGER;
+
+    public static Logger LOG() {
+        if ( LOGGER == null ) {
+            LOGGER = LoggerFactory.getLogger("launcher");
+        }
+        return LOGGER;
+    }
+
     /** Split a string into key and value */
     private static String[] split(final String val) {
         final int pos = val.indexOf('=');
@@ -61,7 +71,7 @@ public class Main {
      * @return Configuration object.
      */
     private static void parseArgs(final LauncherConfig config, final String[] args) {
-        Logger.LOG.log("Assembling configuration...");
+        Main.LOG().info("Assembling configuration...");
         final Options options = new Options();
 
         final Option repoOption =  new Option("u", true, "Set repository url");
@@ -98,21 +108,27 @@ public class Main {
                 }
             }
             if ( cl.hasOption(debugOption.getOpt()) ) {
-                Logger.LOG.setDebug(true);
+                System.setProperty("org.slf4j.simpleLogger.defaultLogLevel", "debug");
+                LOGGER = null;
             }
             if ( cl.hasOption(installerOption.getOpt()) ) {
                 config.setUseInstaller();
             }
         } catch ( final ParseException pe) {
-            Logger.LOG.error("Unable to parse command line: {0}", pe, pe.getMessage());
+            Main.LOG().error("Unable to parse command line: {}", pe.getMessage(), pe);
             System.exit(1);
         }
     }
 
     public static void main(final String[] args) {
-        Logger.LOG.log("");
-        Logger.LOG.log("Apache Sling Application Launcher");
-        Logger.LOG.log("---------------------------------");
+        // setup logging
+        System.setProperty("org.slf4j.simpleLogger.defaultLogLevel", "info");
+        System.setProperty("org.slf4j.simpleLogger.showThreadName", "false");
+        System.setProperty("org.slf4j.simpleLogger.levelInBrackets", "true");
+        System.setProperty("org.slf4j.simpleLogger.showLogName", "false");
+        Main.LOG().info("");
+        Main.LOG().info("Apache Sling Application Launcher");
+        Main.LOG().info("---------------------------------");
 
         // check if launcher has already been created
         final LauncherConfig launcherConfig = new LauncherConfig();
@@ -121,22 +137,22 @@ public class Main {
         ArtifactManager artifactManager = null;
         try {
 
-            Logger.LOG.log("Initializing...");
+            Main.LOG().info("Initializing...");
             try {
                 artifactManager = ArtifactManager.getArtifactManager(launcherConfig);
             } catch ( final IOException ioe) {
-                Logger.LOG.error("Unable to setup artifact manager: {0}", ioe, ioe.getMessage());
+                Main.LOG().error("Unable to setup artifact manager: {}", ioe.getMessage(), ioe);
                 System.exit(1);
             }
-            Logger.LOG.log("Artifact Repositories: {0}", Arrays.toString(launcherConfig.getRepositoryUrls()));
-            Logger.LOG.log("Assembling provisioning model...");
+            Main.LOG().info("Artifact Repositories: {}", Arrays.toString(launcherConfig.getRepositoryUrls()));
+            Main.LOG().info("Assembling provisioning model...");
 
             try {
                 final Launcher launcher = new FrameworkLauncher();
                 final Application app = FeatureProcessor.createApplication(launcherConfig, artifactManager);
 
-                Logger.LOG.log("");
-                Logger.LOG.log("Assembling launcher...");
+                Main.LOG().info("");
+                Main.LOG().info("Assembling launcher...");
                 final ArtifactManager aMgr = artifactManager;
                 final LauncherPrepareContext ctx = new LauncherPrepareContext() {
 
@@ -156,11 +172,11 @@ public class Main {
                 FeatureProcessor.prepareLauncher(launcherConfig, artifactManager, app);
 
             } catch ( final Exception iae) {
-                Logger.LOG.error("Error while assembling launcher: {0}", iae, iae.getMessage());
+                Main.LOG().error("Error while assembling launcher: {}", iae.getMessage(), iae);
                 System.exit(1);
             }
 
-            Logger.LOG.log("Using {0} local artifacts, {1} cached artifacts, and {2} downloaded artifacts",
+            Main.LOG().info("Using {} local artifacts, {} cached artifacts, and {} downloaded artifacts",
                     launcherConfig.getLocalArtifacts(), launcherConfig.getCachedArtifacts(), launcherConfig.getDownloadedArtifacts());
         } finally {
             if ( artifactManager != null ) {
@@ -171,7 +187,7 @@ public class Main {
         try {
             run(launcherConfig);
         } catch ( final Exception iae) {
-            Logger.LOG.error("Error while running launcher: {0}", iae, iae.getMessage());
+            Main.LOG().error("Error while running launcher: {}", iae.getMessage(), iae);
             System.exit(1);
         }
     }
@@ -186,12 +202,12 @@ public class Main {
      * @throws Exception If anything goes wrong
      */
     private static void run(final LauncherConfig config) throws Exception {
-        Logger.LOG.log("");
-        Logger.LOG.log("Starting launcher...");
-        Logger.LOG.log("Launcher Home: {0}", config.getHomeDirectory().getAbsolutePath());
-        Logger.LOG.log("Cache Directory: {0}", config.getCacheDirectory().getAbsolutePath());
-        Logger.LOG.log("Startup Mode: {0}", config.getStartupMode());
-        Logger.LOG.log("");
+        Main.LOG().info("");
+        Main.LOG().info("Starting launcher...");
+        Main.LOG().info("Launcher Home: {}", config.getHomeDirectory().getAbsolutePath());
+        Main.LOG().info("Cache Directory: {}", config.getCacheDirectory().getAbsolutePath());
+        Main.LOG().info("Startup Mode: {}", config.getStartupMode());
+        Main.LOG().info("");
 
         final Installation installation = config.getInstallation();
 
@@ -211,27 +227,27 @@ public class Main {
             installation.getFrameworkProperties().put(START_LEVEL_PROP, "30");
         }
 
-        if ( Logger.LOG.isDebugEnabled() ) {
-            Logger.LOG.debug("Bundles:");
+        if ( Main.LOG().isDebugEnabled() ) {
+            Main.LOG().debug("Bundles:");
             for(final Integer key : installation.getBundleMap().keySet()) {
-                Logger.LOG.debug("-- Start Level {0}", key);
+                Main.LOG().debug("-- Start Level {}", key);
                 for(final File f : installation.getBundleMap().get(key)) {
-                    Logger.LOG.debug("  - {0}", f.getName());
+                    Main.LOG().debug("  - {}", f.getName());
                 }
             }
-            Logger.LOG.debug("Settings: ");
+            Main.LOG().debug("Settings: ");
             for(final Map.Entry<String, String> entry : installation.getFrameworkProperties().entrySet()) {
-                Logger.LOG.debug("- {0}={1}", entry.getKey(), entry.getValue());
+                Main.LOG().debug("- {}={}", entry.getKey(), entry.getValue());
             }
-            Logger.LOG.debug("Configurations: ");
+            Main.LOG().debug("Configurations: ");
             for(final Object[] entry : installation.getConfigurations()) {
                 if ( entry[1] != null ) {
-                    Logger.LOG.debug("- Factory {0} - {1}", entry[1], entry[0]);
+                    Main.LOG().debug("- Factory {} - {}", entry[1], entry[0]);
                 } else {
-                    Logger.LOG.debug("- {0}", entry[0]);
+                    Main.LOG().debug("- {}", entry[0]);
                 }
             }
-            Logger.LOG.debug("");
+            Main.LOG().debug("");
         }
 
         final Launcher launcher = new FrameworkLauncher();
@@ -258,10 +274,10 @@ public class Main {
 
         final URL[] urls = list.toArray(new URL[list.size()]);
 
-        if ( Logger.LOG.isDebugEnabled() ) {
-            Logger.LOG.debug("App classpath: ");
+        if ( Main.LOG().isDebugEnabled() ) {
+            Main.LOG().debug("App classpath: ");
             for (int i = 0; i < urls.length; i++) {
-                Logger.LOG.debug(" - {0}", urls[i]);
+                Main.LOG().debug(" - {}", urls[i]);
             }
         }
 

Modified: sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/launchers/AbstractRunner.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/launchers/AbstractRunner.java?rev=1798198&r1=1798197&r2=1798198&view=diff
==============================================================================
--- sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/launchers/AbstractRunner.java (original)
+++ sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/launchers/AbstractRunner.java Fri Jun  9 12:33:03 2017
@@ -31,7 +31,7 @@ import java.util.Hashtable;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sling.feature.support.Logger;
+import org.apache.sling.feature.launcher.impl.Main;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleException;
@@ -151,7 +151,7 @@ public class AbstractRunner {
                 updateMethod.invoke(cfg, obj[2]);
             }
         } catch ( final Exception e) {
-            Logger.LOG.error("Unable to create configurations", e);
+            Main.LOG().error("Unable to create configurations", e);
             throw new RuntimeException(e);
         }
         final Thread t = new Thread(() -> { configAdminTracker.close(); configAdminTracker = null; });
@@ -183,10 +183,10 @@ public class AbstractRunner {
         final BundleContext bc = framework.getBundleContext();
         int defaultStartLevel = getProperty(bc, "felix.startlevel.bundle", 1);
         for(final Integer startLevel : sortStartLevels(bundleMap.keySet(), defaultStartLevel)) {
-            Logger.LOG.debug("Installing bundles with start level {0}", startLevel);
+            Main.LOG().debug("Installing bundles with start level {}", startLevel);
 
             for(final File file : bundleMap.get(startLevel)) {
-                Logger.LOG.debug("- {0}", file.getName());
+                Main.LOG().debug("- {}", file.getName());
 
                 // use reference protocol. This avoids copying the binary to the cache directory
                 // of the framework
@@ -267,7 +267,7 @@ public class AbstractRunner {
             }
             registerResources.invoke(installer, "cloudlauncher", resources);
         } catch ( final Exception e) {
-            Logger.LOG.error("Unable to contact installer and install additional artifacts", e);
+            Main.LOG().error("Unable to contact installer and install additional artifacts", e);
             throw new RuntimeException(e);
         }
         final Thread t = new Thread(() -> { installerTracker.close(); installerTracker = null; });

Modified: sling/whiteboard/cziegeler/feature-modelconverter/pom.xml
URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-modelconverter/pom.xml?rev=1798198&r1=1798197&r2=1798198&view=diff
==============================================================================
--- sling/whiteboard/cziegeler/feature-modelconverter/pom.xml (original)
+++ sling/whiteboard/cziegeler/feature-modelconverter/pom.xml Fri Jun  9 12:33:03 2017
@@ -56,7 +56,7 @@
                         <outputDirectory>${project.build.directory}/classes</outputDirectory>
                         <overWriteReleases>false</overWriteReleases>
                         <overWriteSnapshots>true</overWriteSnapshots>
-                        <includeArtifactIds>org.apache.sling.feature,org.apache.sling.feature.support,org.apache.sling.commons.johnzon,org.apache.sling.provisioning.model</includeArtifactIds>
+                        <includeArtifactIds>org.apache.sling.feature,org.apache.sling.feature.support,org.apache.sling.commons.johnzon,org.apache.sling.provisioning.model,slf4j-api,slf4j-simple</includeArtifactIds>
                     </configuration>
                 </execution>
             </executions>
@@ -81,6 +81,15 @@
             <artifactId>osgi.core</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.feature</artifactId>
             <version>0.0.1-SNAPSHOT</version>

Modified: sling/whiteboard/cziegeler/feature-modelconverter/src/main/java/org/apache/sling/feature/modelconverter/impl/Main.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-modelconverter/src/main/java/org/apache/sling/feature/modelconverter/impl/Main.java?rev=1798198&r1=1798197&r2=1798198&view=diff
==============================================================================
--- sling/whiteboard/cziegeler/feature-modelconverter/src/main/java/org/apache/sling/feature/modelconverter/impl/Main.java (original)
+++ sling/whiteboard/cziegeler/feature-modelconverter/src/main/java/org/apache/sling/feature/modelconverter/impl/Main.java Fri Jun  9 12:33:03 2017
@@ -37,7 +37,6 @@ import org.apache.sling.feature.json.App
 import org.apache.sling.feature.support.ArtifactHandler;
 import org.apache.sling.feature.support.ArtifactManager;
 import org.apache.sling.feature.support.ArtifactManagerConfig;
-import org.apache.sling.feature.support.Logger;
 import org.apache.sling.provisioning.model.Artifact;
 import org.apache.sling.provisioning.model.ArtifactGroup;
 import org.apache.sling.provisioning.model.Configuration;
@@ -52,20 +51,32 @@ import org.apache.sling.provisioning.mod
 import org.apache.sling.provisioning.model.Traceable;
 import org.apache.sling.provisioning.model.io.ModelReader;
 import org.osgi.framework.Constants;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class Main {
 
+    private static Logger LOGGER;
+
     public static void main(final String[] args) {
-        Logger.LOG.log("Apache Sling Provisiong Model to Feature Application Converter");
-        Logger.LOG.log("");
+        // setup logging
+        System.setProperty("org.slf4j.simpleLogger.defaultLogLevel", "info");
+        System.setProperty("org.slf4j.simpleLogger.showThreadName", "false");
+        System.setProperty("org.slf4j.simpleLogger.levelInBrackets", "true");
+        System.setProperty("org.slf4j.simpleLogger.showLogName", "false");
+
+        LOGGER = LoggerFactory.getLogger("modelconverter");
+
+        LOGGER.info("Apache Sling Provisiong Model to Feature Application Converter");
+        LOGGER.info("");
 
         // first argument is either a model file or a model directory
         if ( args.length == 0 ) {
-            Logger.LOG.error("Required argument missing: model file or directory");
+            LOGGER.error("Required argument missing: model file or directory");
             System.exit(1);
         }
         if ( args.length > 3 ) {
-            Logger.LOG.error("Too many arguments. Only three (model file/dir, run modes and output file) are supported");
+            LOGGER.error("Too many arguments. Only three (model file/dir, run modes and output file) are supported");
             System.exit(1);
         }
         String runModes = null;
@@ -86,7 +97,7 @@ public class Main {
                 }
             }
             if ( list.isEmpty() ) {
-                Logger.LOG.error("No files found in {0}", f);
+                LOGGER.error("No files found in {}", f);
                 System.exit(1);
             }
             Collections.sort(list);
@@ -167,12 +178,12 @@ public class Main {
     }
 
     private static void writeApplication(final Application app, final String out) {
-        Logger.LOG.log("Writing application...");
+        LOGGER.info("Writing application...");
         final File file = new File(out);
         try ( final FileWriter writer = new FileWriter(file)) {
             ApplicationJSONWriter.write(writer, app);
         } catch ( final IOException ioe) {
-            Logger.LOG.error("Unable to write application to {0} : {1}", ioe, out, ioe.getMessage());
+            LOGGER.error("Unable to write application to {} : {}", out, ioe.getMessage(), ioe);
             System.exit(1);
         }
     }
@@ -182,13 +193,13 @@ public class Main {
      */
     private static Model createModel(final File[] files,
             final String runModes) {
-        Logger.LOG.log("Assembling model...");
+        LOGGER.info("Assembling model...");
         Model model = null;
         for(final File initFile : files) {
             try {
                 model = processModel(model, initFile);
             } catch ( final IOException iae) {
-                Logger.LOG.error("Unable to read provisioning model {0} : {1}", iae, initFile, iae.getMessage());
+                LOGGER.error("Unable to read provisioning model {} : {}", initFile, iae.getMessage(), iae);
                 System.exit(1);
             }
         }
@@ -205,9 +216,9 @@ public class Main {
         }));
         final Map<Traceable, String> errors = ModelUtility.validate(effectiveModel);
         if ( errors != null ) {
-            Logger.LOG.error("Invalid assembled provisioning model.");
+            LOGGER.error("Invalid assembled provisioning model.");
             for(final Map.Entry<Traceable, String> entry : errors.entrySet()) {
-                Logger.LOG.error("- {0} : {1}", entry.getKey().getLocation(), entry.getValue());
+                LOGGER.error("- {} : {}", entry.getKey().getLocation(), entry.getValue());
             }
             System.exit(1);
         }
@@ -227,7 +238,7 @@ public class Main {
      */
     private static Model processModel(Model model,
             final File modelFile) throws IOException {
-        Logger.LOG.log("- reading model {0}", modelFile);
+        LOGGER.info("- reading model {}", modelFile);
 
         final Model nextModel = readProvisioningModel(modelFile);
         // resolve references to other models

Modified: sling/whiteboard/cziegeler/feature-support/pom.xml
URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-support/pom.xml?rev=1798198&r1=1798197&r2=1798198&view=diff
==============================================================================
--- sling/whiteboard/cziegeler/feature-support/pom.xml (original)
+++ sling/whiteboard/cziegeler/feature-support/pom.xml Fri Jun  9 12:33:03 2017
@@ -55,6 +55,10 @@
             <artifactId>osgi.core</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.feature</artifactId>
             <version>0.0.1-SNAPSHOT</version>

Modified: sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/ArtifactManager.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/ArtifactManager.java?rev=1798198&r1=1798197&r2=1798198&view=diff
==============================================================================
--- sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/ArtifactManager.java (original)
+++ sling/whiteboard/cziegeler/feature-support/src/main/java/org/apache/sling/feature/support/ArtifactManager.java Fri Jun  9 12:33:03 2017
@@ -33,6 +33,8 @@ import java.util.ServiceLoader;
 import org.apache.sling.feature.ArtifactId;
 import org.apache.sling.feature.support.spi.ArtifactProvider;
 import org.apache.sling.feature.support.spi.ArtifactProviderContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * The artifact manager is the central service to get artifacts.
@@ -41,6 +43,8 @@ import org.apache.sling.feature.support.
  */
 public class ArtifactManager {
 
+    private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
     /** The map of providers. */
     private final Map<String, ArtifactProvider> providers;
 
@@ -119,7 +123,7 @@ public class ArtifactManager {
      * @throws IOException If something goes wrong.
      */
     public ArtifactHandler getArtifactHandler(final String url) throws IOException {
-        Logger.LOG.debug("Trying to get artifact for " + url);
+        logger.debug("Trying to get artifact for {}", url);
 
         final String path;
 
@@ -152,7 +156,7 @@ public class ArtifactManager {
             }
             return new ArtifactHandler(f.toURI().toString(), f);
         }
-        Logger.LOG.debug("Querying repositories for " + path);
+        logger.debug("Querying repositories for {}", path);
 
         for(final String repoUrl : this.config.getRepositoryUrls()) {
             final StringBuilder builder = new StringBuilder();
@@ -172,11 +176,11 @@ public class ArtifactManager {
                 throw new IOException("No URL handler found for " + artifactUrl);
             }
 
-            Logger.LOG.debug("Checking " + handler + " to get artifact from " + artifactUrl);
+            logger.debug("Checking {} to get artifact from {}", handler, artifactUrl);
 
             final File file = handler.getArtifact(artifactUrl, path);
             if ( file != null ) {
-                Logger.LOG.debug("Found artifact " + artifactUrl);
+                logger.debug("Found artifact {}", artifactUrl);
                 return new ArtifactHandler(artifactUrl, file);
             }
 
@@ -261,6 +265,8 @@ public class ArtifactManager {
 
     private static final class DefaultArtifactHandler implements ArtifactProvider {
 
+        private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
         private volatile File cacheDir;
 
         private volatile ArtifactProviderContext config;
@@ -284,7 +290,7 @@ public class ArtifactManager {
 
         @Override
         public File getArtifact(final String url, final String relativeCachePath) {
-            Logger.LOG.debug("Checking url to be local file " + url);
+            logger.debug("Checking url to be local file {}", url);
             // check if this is already a local file
             try {
                 final File f = new File(new URL(url).toURI());
@@ -300,7 +306,7 @@ public class ArtifactManager {
             } catch ( final MalformedURLException mue) {
                 // ignore
             }
-            Logger.LOG.debug("Checking remote url " + url);
+            logger.debug("Checking remote url {}", url);
             try {
                 // check for url
                 if ( url.indexOf(":") == -1 ) {