forked from Coded/SIPRP
no message
git-svn-id: https://svn.coded.pt/svn/SIPRP@175 bb69d46d-e84e-40c8-a05a-06db0d6337410'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
parent
5170bc2f8e
commit
a96d32c68d
@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in new issue