Dynamic Logging

Starting with 15.7 ESD #4, jConnect for JDBC supports logging mechanism by implementing the standard Java logger mechanism.

Example

The application obtains the handle of the jConnect logger, and turn logging on or off as and when required.

try
{
// Get logger for all classes present in
//"com.sybase.jdbc4.jdbc" package

Logger LOG = Logger.getLogger("com.sybase.jdbc4.jdbc");

// To log class-specific log message, 
// provide complete class name, for example:
//Logger.getLogger("com.sybase.jdbc4.jdbc.
//SybConnection");
//Get handle as per user's requirement 
Handler handler = new ConsoleHandler();

//Set logging level
handler.setLevel(Level.ALL);

//Added user specific handler to logger object
LOG.addHandler(handler);

//Set logging level
LOG.setLevel(Level.ALL);

Class.forName("com.sybase.jdbc4.jdbc.SybDriver");
Properties properties = new Properties();
properties.put("USER", USER_NAME);
properties.put("PASSWORD", PASSWORD);
Connection con =   DriverManager.getConnection("jdbc:sybase:Tds:" +
    HOST_PORT, properties);
Statement stmt = con.createStatement();
stmt.execute("select @@version");

//Dynamically turn off logging mechanism
LOG.setLevel(Level.OFF);
con.close(); 
...
}

Logging Levels

jConnect allows application users to set message granularity to Level.FINE, Level.FINER, and Level.FINEST. For example: