]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/console/SCLConsole.java
Replace System.err and System.out with SLF4J Logging
[simantics/platform.git] / bundles / org.simantics.scl.ui / src / org / simantics / scl / ui / console / SCLConsole.java
index dcb56cc3a72d7d29354efd6544fc11af7ff8dcd0..7221158c1bacfbfa8d91e27791ab84a49c8ee388 100644 (file)
@@ -24,6 +24,8 @@ import org.simantics.scl.runtime.reporting.SCLReportingHandler;
 import org.simantics.scl.ui.Activator;
 import org.simantics.scl.ui.assist.SCLContentProposalProvider;
 import org.simantics.scl.ui.assist.StyledTextContentAdapter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import gnu.trove.set.hash.THashSet;
 
@@ -33,6 +35,13 @@ import gnu.trove.set.hash.THashSet;
  * @author Hannu Niemistö
  */
 public class SCLConsole extends AbstractCommandConsole {
+
+    /**
+     * Use this option mask to exclude {@link SCLConsoleListener}s contributed as
+     * OSGi services from listening to this console.
+     */
+    public static final int EXCLUDE_CONTRIBUTED_LISTENERS = 1 << 10;
+
        public static final String JOB_NAME = "org.simantics.scl.console.job";
        public static final long TERMINATE_GRACE_PERIOD = 1000L;
        
@@ -66,7 +75,8 @@ public class SCLConsole extends AbstractCommandConsole {
     public SCLConsole(Composite parent, int style, int options) {
         super(parent, style, options);
         createContentProposalAdapter();
-        addContributedListeners();
+        if (!hasOption(EXCLUDE_CONTRIBUTED_LISTENERS))
+            addContributedListeners();
     }
 
     protected void createContentProposalAdapter() {
@@ -250,4 +260,10 @@ public class SCLConsole extends AbstractCommandConsole {
                     }
                 }.open();
     }
+
+    @Override
+    public Logger getLogger() {
+        return LoggerFactory.getLogger(getClass());
+    }
+
 }