]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/reporting/SCLReportingHandler.java
Expose CommandSession in SCL
[simantics/platform.git] / bundles / org.simantics.scl.runtime / src / org / simantics / scl / runtime / reporting / SCLReportingHandler.java
old mode 100755 (executable)
new mode 100644 (file)
index a535956..4ea5fe6
@@ -1,5 +1,8 @@
 package org.simantics.scl.runtime.reporting;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 /**
  * <p>An interface that is used to handle printing commands from SCL 
  * such as Prelude.print. This interface is typically stored to 
@@ -11,6 +14,7 @@ package org.simantics.scl.runtime.reporting;
  * @author Hannu Niemist&ouml;
  */
 public interface SCLReportingHandler {
+    public static final Logger LOGGER = LoggerFactory.getLogger(SCLReportingHandler.class);
     public static final String REPORTING_HANDLER = "reportingHandler";
     
     public void print(String text);
@@ -21,16 +25,44 @@ public interface SCLReportingHandler {
     public static final SCLReportingHandler DEFAULT = new AbstractSCLReportingHandler() {
         @Override
         public void print(String text) {
-            System.out.println(text);
+            LOGGER.info(text);
         }
 
         @Override
         public void printError(String error) {
-            System.err.println(error);
+            LOGGER.error(error);
         }
     };
     
     public static final SCLReportingHandler DEFAULT_WITHOUT_ECHO = new AbstractSCLReportingHandler() {
+        @Override
+        public void print(String text) {
+            LOGGER.info(text);
+        }
+
+        @Override
+        public void printError(String error) {
+            LOGGER.error(error);
+        }
+
+        @Override
+        public void printCommand(String command) {
+        }
+    };
+    
+    public static final SCLReportingHandler SYSOUT = new AbstractSCLReportingHandler() {
+        @Override
+        public void print(String text) {
+            System.out.println(text);
+        }
+
+        @Override
+        public void printError(String error) {
+            LOGGER.error(error);
+        }
+    };
+    
+    public static final SCLReportingHandler SYSOUT_WITHOUT_ECHO = new AbstractSCLReportingHandler() {
         @Override
         public void print(String text) {
             System.out.println(text);
@@ -38,7 +70,7 @@ public interface SCLReportingHandler {
 
         @Override
         public void printError(String error) {
-            System.err.println(error);
+            LOGGER.error(error);
         }
 
         @Override