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. |
From: <pat...@us...> - 2009-01-05 19:57:55
|
Revision: 829 http://cishell.svn.sourceforge.net/cishell/?rev=829&view=rev Author: pataphil Date: 2009-01-05 19:57:49 +0000 (Mon, 05 Jan 2009) Log Message: ----------- Made the logging of stack traces more proper. (It only worked before as an indirect hack.) 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:55:56 UTC (rev 828) +++ trunk/clients/gui/org.cishell.reference.gui.log/src/org/cishell/reference/gui/log/LogToFile.java 2009-01-05 19:57:49 UTC (rev 829) @@ -90,21 +90,9 @@ javaLogLevel = Level.INFO; } // edited by Felix Terkhorn. ter...@gm... May-9-2007 - // 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 + // stdout printing happens here, despite having 1 handler only. + logger.log(javaLogLevel, message + "\r\n", entry.getException()); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tan...@us...> - 2009-02-20 18:58:30
|
Revision: 863 http://cishell.svn.sourceforge.net/cishell/?rev=863&view=rev Author: tankchintan Date: 2009-02-20 18:58:20 +0000 (Fri, 20 Feb 2009) Log Message: ----------- changed log file naming convention. Reviewed By : Micah, Russell 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-02-20 18:25:45 UTC (rev 862) +++ trunk/clients/gui/org.cishell.reference.gui.log/src/org/cishell/reference/gui/log/LogToFile.java 2009-02-20 18:58:20 UTC (rev 863) @@ -4,6 +4,7 @@ import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; +import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.logging.FileHandler; import java.util.logging.Level; @@ -20,19 +21,18 @@ */ public class LogToFile implements LogListener { //default log directory - private static String default_log_dir = + private static final String DEFAULT_LOG_DIR = System.getProperty("user.dir") + File.separator + "logs"; - private static String prefix_file_name = "user"; + private static final String FILE_NAME_PREFIX = "user"; private File currentDir; private Logger logger; //Specify the default size of each log file - private int limit = 100000; // 100 kb + private static final int LIMIT = 100000; // 100 kb - //Specify the default numbers of log files - private int max_Number_Of_LogFiles = 10; + private static final int MAX_NUM_LOG_FILES = 10; /** * Constructor @@ -45,11 +45,11 @@ if (currentDir != null){ boolean append = true; String logFileName = currentDir+File.separator+ - generateUniqueFile(prefix_file_name)+ + generateUniqueFile(FILE_NAME_PREFIX)+ ".%g.log"; FileHandler handler = new FileHandler(logFileName, - limit, max_Number_Of_LogFiles, append); + LIMIT, MAX_NUM_LOG_FILES, append); handler.setFormatter(new SimpleFormatter()); @@ -109,17 +109,17 @@ private static File getLogDirectory(){ //later, we should get the log directory from preference service - File logDir = new File(default_log_dir); + File logDir = new File(DEFAULT_LOG_DIR); if (!logDir.exists() || !logDir.isDirectory()){ try{ if (logDir.mkdir()){ return logDir; } else { - return new File (default_log_dir); + return new File (DEFAULT_LOG_DIR); } }catch (Exception e){ e.printStackTrace(); - return new File (default_log_dir); + return new File (DEFAULT_LOG_DIR); } }else @@ -130,27 +130,22 @@ /* * create log file with given name plus unique timestamp */ - private String generateUniqueFile(String prefixFN) { - - Calendar now = Calendar.getInstance(); - String month = (now.get(Calendar.MONTH) + 1) + ""; //zero based - - if (month.length() == 1) { - month = "0" + month; - } - - String day = now.get(Calendar.DAY_OF_MONTH) + ""; - - if (day.length() == 1) { - day = "0" + day; - } - - String year = now.get(Calendar.YEAR) + ""; + private String generateUniqueFile(String fileNamePrefix) { - String timestamp = "-" + month + "-" + day + "-" + year + "-"+ - System.currentTimeMillis(); - return prefixFN+timestamp; +/* + * We can set any date time format we want. + * For the legend on different formats check http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html +*/ +/* TODO Make sure that 2 files with same filename are not generated. + * Current granularity is set at till milliseconds. +*/ + + String dateFormat = "MM-dd-yyyy-hh-mm-a-SSS"; + Calendar currentTemporalSnapshot = Calendar.getInstance(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat); + String timestamp = "-" + simpleDateFormat.format(currentTemporalSnapshot.getTime()); + return fileNamePrefix + timestamp; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |