public static void setLogLevel( Class type, String log, String level ) { setLogLevel( type.getClassLoader(), log, level ); }
public static String getLogLevel( ClassLoader loader, String log ) { Object loggerObject = getLoggerObject( loader, log ); Object level = Reflection.invokeInstanceMethod( loggerObject, "getLevel" ); if( level == null ) return ""; return level.toString(); }
public static void setLogLevel( String level ) { setLogLevel( Logging.class.getClassLoader(), "cascading", level ); }
public static void setLogLevel( ClassLoader loader, String log, String level ) { Object loggerObject = getLoggerObject( loader, log ); Object levelObject = Reflection.invokeStaticMethod( loader, "org.apache.log4j.Level", "toLevel", new Object[]{level}, new Class[]{String.class} ); Reflection.invokeInstanceMethod( loggerObject, "setLevel", levelObject, levelObject.getClass() ); }
@Before public void before() { System.setProperty( "sqlline.system.exit", "true" ); // goofy logic, but true prevents exit from being called Logging.setLogLevel( "debug" ); }
@Override public Connection connect( String url, Properties info ) throws SQLException { if( !acceptsURL( url ) ) { // DriverManager walks all the drivers and attempts to connect, so don't report a nasty error LOG.debug( "invalid connection url {}", url ); return null; } Connection connection = super.connect( url, info ); if( connection == null ) { LOG.error( "unable to get connection to {} with {}", url, info ); return null; } Properties connectionProperties = parseConnectionProperties( url, info ); if( connectionProperties.contains( VERBOSE_PROP ) ) Logging.setLogLevel( connectionProperties.getProperty( VERBOSE_PROP, "info" ) ); return factory.createConnection( connection, connectionProperties ); }