Remove Tabs, per Jococo
[aaf/authz.git] / misc / env / src / main / java / org / onap / aaf / misc / env / LogTarget.java
index f2b539a..a98d710 100644 (file)
@@ -63,10 +63,26 @@ public interface LogTarget {
     };\r
 \r
     // A Convenient LogTarget to write to the Console\r
-    public static final LogTarget SYSOUT = new LogTarget() {\r
+    public static final LogTarget SYSOUT = new StreamLogTarget(System.out,false);\r
+    \r
+    // A Convenient LogTarget to write to the Console\r
+    public static final LogTarget SYSERR = new StreamLogTarget(System.err,false);\r
+    \r
+    public static class StreamLogTarget implements LogTarget {\r
+        private final PrintStream out;\r
+        private final boolean closeMe;\r
+\r
+        public StreamLogTarget(PrintStream ps) {\r
+            this(ps,true);\r
+        }\r
+\r
+        /* Do NOT close SYSTEM ERR or OUT*/\r
+        protected StreamLogTarget(PrintStream ps, boolean shouldClose) {\r
+            out = ps;\r
+            closeMe = shouldClose;\r
+        }\r
         public void log(Object ... msgs) {\r
-            PrintStream out = System.out;\r
-            out.print(org.onap.aaf.misc.env.util.Chrono.dateFmt.format(new Date()));\r
+            out.print(Chrono.dateFmt.format(new Date()));\r
             out.print(": ");\r
             for (Object str : msgs) {\r
                 if (str!=null) {\r
@@ -80,7 +96,6 @@ public interface LogTarget {
         }\r
 \r
         public void log(Throwable t, Object ... msgs) {\r
-            PrintStream out = System.out;\r
             out.print(Chrono.dateFmt.format(new Date()));\r
             out.print(": ");\r
             for (Object str : msgs) {\r
@@ -100,43 +115,13 @@ public interface LogTarget {
         public void printf(String fmt, Object ... vars) {\r
             log(String.format(fmt,vars));\r
         }\r
-    };\r
-    \r
-    // A Convenient LogTarget to write to the Console\r
-    public static final LogTarget SYSERR = new LogTarget() {\r
-        public void log(Object ... msgs) {\r
-            PrintStream out = System.err;\r
-            out.print(Chrono.dateFmt.format(new Date()));\r
-            out.print(": ");\r
-            for (Object str : msgs) {\r
-                out.print(str.toString());\r
-                out.print(' ');\r
+        \r
+        public void close() {\r
+            if(closeMe) {\r
+                out.close();\r
             }\r
-            out.println();\r
-            out.flush();\r
         }\r
 \r
-        public void log(Throwable t, Object ... msgs) {\r
-            PrintStream out = System.err;\r
-            out.print(Chrono.dateFmt.format(new Date()));\r
-            out.print(": ");\r
-            for (Object str : msgs) {\r
-                out.print(str.toString());\r
-                out.print(' ');\r
-            }\r
-            out.println();\r
-            t.printStackTrace(out);\r
-        }\r
-\r
-        public boolean isLoggable() {\r
-            return true;\r
-        }\r
-        @Override\r
-        public void printf(String fmt, Object ... vars) {\r
-            log(String.format(fmt,vars));\r
-        }\r
-\r
-    };\r
-\r
+    }\r
 \r
 };
\ No newline at end of file