aboutsummaryrefslogtreecommitdiffstats
path: root/netx/net/sourceforge/jnlp/util/logging/OutputController.java
diff options
context:
space:
mode:
authorJiri Vanek <[email protected]>2013-12-15 11:07:05 +0100
committerJiri Vanek <[email protected]>2013-12-15 11:07:05 +0100
commitd91bf9ee53eebc7028f4143e03881ee350e4ebef (patch)
treed1886733f58835ff3a9ae5d51a5411139ae55ce5 /netx/net/sourceforge/jnlp/util/logging/OutputController.java
parent3c5836190bd9954c56c7d4180bfc2e7ed9a0d82d (diff)
Console made aware of plugin messages
Diffstat (limited to 'netx/net/sourceforge/jnlp/util/logging/OutputController.java')
-rw-r--r--netx/net/sourceforge/jnlp/util/logging/OutputController.java115
1 files changed, 39 insertions, 76 deletions
diff --git a/netx/net/sourceforge/jnlp/util/logging/OutputController.java b/netx/net/sourceforge/jnlp/util/logging/OutputController.java
index 6a6dcd6..d84950a 100644
--- a/netx/net/sourceforge/jnlp/util/logging/OutputController.java
+++ b/netx/net/sourceforge/jnlp/util/logging/OutputController.java
@@ -54,20 +54,37 @@ public class OutputController {
ERROR_ALL, // - stderr/log in all cases (default for
ERROR_DEBUG; // - stderr/log in verbose/debug mode
//ERROR_DEBUG is default for Throwable
- //MESSAGE_VERBOSE is defautrl for String
+ //MESSAGE_DEBUG is default for String
- private static boolean isOutput(MessageWithLevel s) {
- return s.level == Level.MESSAGE_ALL
- || s.level == Level.MESSAGE_DEBUG
- || s.level == Level.WARNING_ALL
- || s.level == Level.WARNING_DEBUG;
+ public boolean isOutput() {
+ return this == Level.MESSAGE_ALL
+ || this == Level.MESSAGE_DEBUG
+ || this == Level.WARNING_ALL
+ || this == Level.WARNING_DEBUG;
}
- private static boolean isError(MessageWithLevel s) {
- return s.level == Level.ERROR_ALL
- || s.level == Level.ERROR_DEBUG
- || s.level == Level.WARNING_ALL
- || s.level == Level.WARNING_DEBUG;
+ public boolean isError() {
+ return this == Level.ERROR_ALL
+ || this == Level.ERROR_DEBUG
+ || this == Level.WARNING_ALL
+ || this == Level.WARNING_DEBUG;
+ }
+
+ public boolean isWarning() {
+ return this == Level.WARNING_ALL
+ || this == Level.WARNING_DEBUG;
+ }
+
+ public boolean isDebug() {
+ return this == Level.ERROR_DEBUG
+ || this == Level.MESSAGE_DEBUG
+ || this == Level.WARNING_DEBUG;
+ }
+
+ public boolean isInfo() {
+ return this == Level.ERROR_ALL
+ || this == Level.WARNING_ALL
+ || this == Level.MESSAGE_ALL;
}
}
@@ -76,6 +93,8 @@ public class OutputController {
public final String message;
public final Level level;
public final StackTraceElement[] stack = Thread.currentThread().getStackTrace();
+ public final Thread thread = Thread.currentThread();
+ public final Date loggedAt = new Date();
public MessageWithLevel(String message, Level level) {
this.message = message;
@@ -132,6 +151,11 @@ public class OutputController {
private void consume() {
MessageWithLevel s = messageQue.get(0);
messageQue.remove(0);
+ net.sourceforge.jnlp.util.logging.headers.Header header = new net.sourceforge.jnlp.util.logging.headers.Header(s.level, s.stack, s.thread, s.loggedAt, false);
+ //filtering is done in console during runtime
+ if (LogConfig.getLogConfig().isLogToConsole()) {
+ JavaConsole.getConsole().addMessage(header, s.message);
+ }
if (!JNLPRuntime.isDebug() && (s.level == Level.MESSAGE_DEBUG
|| s.level == Level.WARNING_DEBUG
|| s.level == Level.ERROR_DEBUG)) {
@@ -142,16 +166,16 @@ public class OutputController {
String message = s.message;
if (LogConfig.getLogConfig().isEnableHeaders()) {
if (message.contains("\n")) {
- message = getHeader(s.level, s.stack) + "\n" + message;
+ message = header.toString() + "\n" + message;
} else {
- message = getHeader(s.level, s.stack) + " " + message;
+ message = header.toString() + " " + message;
}
}
if (LogConfig.getLogConfig().isLogToStreams()) {
- if (Level.isOutput(s)) {
+ if (s.level.isOutput()) {
outLog.log(message);
}
- if (Level.isError(s)) {
+ if (s.level.isError()) {
errLog.log(message);
}
}
@@ -161,14 +185,6 @@ public class OutputController {
if (LogConfig.getLogConfig().isLogToSysLog()) {
getSystemLog().log(message);
}
- if (LogConfig.getLogConfig().isLogToConsole()) {
- if (Level.isOutput(s)){
- JavaConsole.getConsole().logOutput(message);
- }
- if (Level.isError(s)){
- JavaConsole.getConsole().logError(message);
- }
- }
}
@@ -344,59 +360,6 @@ public class OutputController {
printOut(e);
printError(e);
}
-
- public static String getHeader(Level level, StackTraceElement[] stack) {
- StringBuilder sb = new StringBuilder();
- try {
- String user = System.getProperty("user.name");
- sb.append("[").append(user).append("]");
- if (JNLPRuntime.isWebstartApplication()) {
- sb.append("[ITW-JAVAWS]");
- } else {
- sb.append("[ITW]");
- }
- if (level != null) {
- sb.append('[').append(level.toString()).append(']');
- }
- sb.append('[').append(new Date().toString()).append(']');
- if (stack != null) {
- sb.append('[').append(getCallerClass(stack)).append(']');
- }
- sb.append(" NETX Thread# ")
- .append(Integer.toHexString(((Object)Thread.currentThread()).hashCode()))
- .append(", name ")
- .append(Thread.currentThread().getName());
- } catch (Exception ex) {
- getLogger().log(ex);
- }
- return sb.toString();
-
- }
-
- static String getCallerClass(StackTraceElement[] stack) {
- try {
- //0 is always thread
- //1..? is OutputController itself
- //pick up first after.
- StackTraceElement result = stack[0];
- int i = 1;
- for (; i < stack.length; i++) {
- result = stack[i];//at least moving up
- if (stack[i].getClassName().contains(OutputController.class.getName()) ||
- //PluginDebug.class.getName() not avaiable during netx make
- stack[i].getClassName().contains("sun.applet.PluginDebug") ) {
- continue;
- } else {
- break;
- }
- }
- return result.toString();
- } catch (Exception ex) {
- getLogger().log(ex);
- return "Unknown caller";
- }
- }
-
//package private setters for testing