Dynamic logging

Starting with 15.7 ESD #4, jConnect for JDBC supports logging mechanism by implementing standard Java Logger mechanism. Now, the application can get handle of jConnect's logger and turn logging on or off as and when required.

Example


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(); ... }

NoteCurrently, only public APIs are logged with Level.FINE; no statements are logged with Level.INFO, Level.FINER, and Level.FINEST.