|
From: <pat...@us...> - 2009-01-05 17:56:03
|
Revision: 828
http://cishell.svn.sourceforge.net/cishell/?rev=828&view=rev
Author: pataphil
Date: 2009-01-05 17:55:56 +0000 (Mon, 05 Jan 2009)
Log Message:
-----------
Log writing code now outputs exception stack traces when the exception objects are provided.
Modified Paths:
--------------
trunk/clients/gui/org.cishell.reference.gui.log/src/org/cishell/reference/gui/log/LogToFile.java
Modified: trunk/clients/gui/org.cishell.reference.gui.log/src/org/cishell/reference/gui/log/LogToFile.java
===================================================================
--- trunk/clients/gui/org.cishell.reference.gui.log/src/org/cishell/reference/gui/log/LogToFile.java 2009-01-05 17:54:22 UTC (rev 827)
+++ trunk/clients/gui/org.cishell.reference.gui.log/src/org/cishell/reference/gui/log/LogToFile.java 2009-01-05 17:55:56 UTC (rev 828)
@@ -1,17 +1,18 @@
package org.cishell.reference.gui.log;
import java.io.File;
-
-import org.osgi.service.log.LogEntry;
-import org.osgi.service.log.LogListener;
-
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
import java.util.Calendar;
import java.util.logging.FileHandler;
+import java.util.logging.Level;
import java.util.logging.Logger;
-import java.util.logging.Level;
import java.util.logging.SimpleFormatter;
-import java.io.IOException;
+import org.osgi.service.log.LogEntry;
+import org.osgi.service.log.LogListener;
+
/**
* This is a basic implementation. It writes log records to files
* @author Weixia(Bonnie) Huang (hu...@in...)
@@ -89,9 +90,22 @@
javaLogLevel = Level.INFO;
} // edited by Felix Terkhorn. ter...@gm... May-9-2007
- if (goodMessage(message)){
- logger.log(javaLogLevel, message+"\n"); // stdout printing happens here, despite having 1 handler only
+ // Log the exception?
+ Throwable throwableToBeLogged = entry.getException();
+
+ // Log the exception's stack trace?
+ if (throwableToBeLogged != null) {
+ // TODO: Log to a different file? This would possibly be where we'd
+ // check the preferences/etc.
+ StringWriter stackTraceStringWriter = new StringWriter();
+
+ throwableToBeLogged.printStackTrace(new PrintWriter(stackTraceStringWriter));
+ logger.log(javaLogLevel, "Stace Trace: " + stackTraceStringWriter.toString() + "\r\n");
}
+
+ if (goodMessage(message)) {
+ logger.log(javaLogLevel, message + "\r\n"); // stdout printing happens here, despite having 1 handler only
+ }
}
private boolean goodMessage(String msg) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|