};\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
+ for (Object str : msgs) {\r
+ if (str!=null) {\r
out.print(str.toString());\r
out.print(' ');\r
} else {\r
}\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
+ for (Object str : msgs) {\r
out.print(str.toString());\r
out.print(' ');\r
}\r
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
- 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
+ public void close() {\r
+ if(closeMe) {\r
+ out.close();\r
+ }\r
}\r
\r
- };\r
-\r
+ }\r
\r
};
\ No newline at end of file