From a96d32c68d7e178759332f1888cc1b738970b2f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Flores?= Date: Tue, 15 Mar 2005 16:01:37 +0000 Subject: [PATCH] no message git-svn-id: https://svn.coded.pt/svn/SIPRP@175 bb69d46d-e84e-40c8-a05a-06db0d633741 --- trunk/siprp/Main.java | 4 +- trunk/siprp/SIPRPLogger.java | 89 ++++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 trunk/siprp/SIPRPLogger.java diff --git a/trunk/siprp/Main.java b/trunk/siprp/Main.java index 2c58268a..00017d6e 100644 --- a/trunk/siprp/Main.java +++ b/trunk/siprp/Main.java @@ -28,6 +28,8 @@ import javax.swing.tree.*; public class Main implements Connector { + public final static String SHST_VERSION = "2.1"; + private final static ClassLoader classLoader = new EVUtilsImageLib().getClass().getClassLoader(); private static String dbase; @@ -102,7 +104,7 @@ public class Main implements Connector String logoFileName = ( String ) Singleton.getInstance( SingletonConstants.COMPANY_LOGO ); LoginWindow loginWindow = new LoginWindow( new Main(), /*"logo"+File.separator +*/ logoFileName,//"logo"+File.separator + "logo_w400.jpg", new String[] { (String) Singleton.getInstance( SingletonConstants.SOFTWARE_NAME ) }, - new String[] { "Vers\u00E3o 2.0", "(EVOLUTE 2004)" }, "", + new String[] { "Vers\u00E3o " + SHST_VERSION, "(EVOLUTE 2005)" }, "", (String)Singleton.getInstance( SingletonConstants.LOCAL_USER ), (String)Singleton.getInstance( SingletonConstants.LOCAL_PASSWORD ), avisos, false ); loginWindow.setTitle( (String) Singleton.getInstance( SingletonConstants.SOFTWARE_NAME ) ); diff --git a/trunk/siprp/SIPRPLogger.java b/trunk/siprp/SIPRPLogger.java new file mode 100644 index 00000000..678dc168 --- /dev/null +++ b/trunk/siprp/SIPRPLogger.java @@ -0,0 +1,89 @@ +/* + * SIPRPLogger.java + * + * Created on 15 de Março de 2005, 15:31 + */ + +package siprp; + +import com.evolute.utils.*; +import com.evolute.utils.db.*; +import com.evolute.utils.error.*; +import com.evolute.utils.sql.*; + +/** + * + * @author lflores + */ +public class SIPRPLogger implements Logger +{ + private final String java = System.getProperty( "java.version" ) + + "-" + System.getProperty( "java.vm.version" ); + private final String os = System.getProperty( "os.name" ) + " - " + + System.getProperty( "os.version" ); + private final String user = ( String )Singleton.getInstance( Singleton.USERNAME ); + private final String ENV = "Java: " + java + " \nOS: " + os + " \nUser: " + user + + "\n Software: " + ( String )Singleton.getInstance( SingletonConstants.SOFTWARE_NAME ) + + "\n Version: " + Main.SHST_VERSION; + private final Executer executer; + + /** Creates a new instance of SIPRPLogger */ + public SIPRPLogger() + throws Exception + { + DBManager dbm = ( DBManager )Singleton.getInstance( SingletonConstants.DEFAULT_DBMANAGER ); + executer = dbm.getExclusiveExecuter( this ); + } + + public void log( String str ) + { + String mem = "(" + Runtime.getRuntime().freeMemory() + "/" + + Runtime.getRuntime().maxMemory() + ")"; + if( str.length() > 254000 ) + { + str = str.substring( 0, 254000 ) + " Message too big (" + str.length() + "), truncated."; + } + try + { + executer.executeQuery( new Insert( "errors", new Assignment[] { + new Assignment( new Field( "type" ), "LOG" ), + new Assignment( new Field( "environment" ), ENV + mem ), + new Assignment( new Field( "description" ), str ) + } ), null ); + } + catch( Exception ex ) + { + logException( ex ); + } + } + + public void logException( Exception ex ) + { + StackTraceElement ste[] = ex.getStackTrace(); + StringBuffer sb = new StringBuffer(); + for( int i = 0; i < ste.length; ++i ) + { + sb.append( ste[ i ].toString() ); + } + String str = "Exception Message: " + ex.getMessage() + "\nStack Trace: " + sb.toString(); + String mem = "(" + Runtime.getRuntime().freeMemory() + "/" + + Runtime.getRuntime().maxMemory() + ")"; + if( str.length() > 254000 ) + { + str = str.substring( 0, 254000 ) + " Message too big (" + str.length() + "), truncated."; + } + try + { + executer.executeQuery( new Insert( "errors", new Assignment[] { + new Assignment( new Field( "type" ), "ERROR" ), + new Assignment( new Field( "environment" ), ENV + mem ), + new Assignment( new Field( "description" ), str ) + } ), new SQLRetriever() ); + } + catch( Exception ex1 ) + { + ex.printStackTrace(); + } + } + +}