Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Refactoring according to Pazus suggestions
  • Loading branch information
pesse committed Feb 12, 2019
commit 053dfc9df81f18acd3826d2d3577919c617bf99e
2 changes: 2 additions & 0 deletions src/main/java/org/utplsql/cli/Cli.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ public static void main(String[] args) {
}

static int runWithExitCode( String[] args ) {

LoggerConfiguration.configure(LoggerConfiguration.ConfigLevel.NONE);
LocaleInitializer.initLocale();

JCommander jc = new JCommander();
Expand Down
55 changes: 34 additions & 21 deletions src/main/java/org/utplsql/cli/LoggerConfiguration.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,44 +8,57 @@
import ch.qos.logback.core.ConsoleAppender;
import com.zaxxer.hikari.HikariDataSource;
import org.slf4j.LoggerFactory;
import org.utplsql.api.TestRunner;

class LoggerConfiguration {

Comment thread
pesse marked this conversation as resolved.
public enum ConfigLevel {
BASIC, NONE, DEBUG
}

private LoggerConfiguration() {
throw new UnsupportedOperationException();
}
static void configure(boolean silent, boolean debug) {
if ( silent )
configureSilent();
else if ( debug )
configureDebug();
else
configureDefault();

static void configure(ConfigLevel level) {
switch ( level ) {
case BASIC:
configureInfo();
break;
case NONE:
configureSilent();
break;
case DEBUG:
configureDebug();
break;
}
}

private static void configureSilent() {
Logger root = (Logger)LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
root.setLevel(Level.OFF);
setRootLoggerLevel(Level.OFF);
}

private static void configureDefault() {
Logger root = (Logger)LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
root.setLevel(Level.INFO);

((Logger) LoggerFactory.getLogger(HikariDataSource.class)).setLevel(Level.OFF);
((Logger) LoggerFactory.getLogger(TestRunner.class)).setLevel(Level.ERROR);

setSingleConsoleAppenderWithLayout(root, "%msg%n");
private static void configureInfo() {
setRootLoggerLevel(Level.INFO);
muteHikariLogger();
setSingleConsoleAppenderWithLayout("%msg%n");
}

private static void configureDebug() {
setRootLoggerLevel(Level.DEBUG);
setSingleConsoleAppenderWithLayout("%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n");
}

private static void setRootLoggerLevel( Level level ) {
Logger root = (Logger)LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
root.setLevel(Level.DEBUG);
root.setLevel(level);
}

setSingleConsoleAppenderWithLayout(root, "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n");
private static void muteHikariLogger() {
((Logger) LoggerFactory.getLogger(HikariDataSource.class)).setLevel(Level.OFF);
}

private static void setSingleConsoleAppenderWithLayout( Logger logger, String patternLayout ) {
private static void setSingleConsoleAppenderWithLayout( String patternLayout ) {
Logger logger = (Logger)LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();

PatternLayoutEncoder ple = new PatternLayoutEncoder();
Expand Down
2 changes: 0 additions & 2 deletions src/main/java/org/utplsql/cli/ReportersCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@ private ConnectionInfo getConnectionInfo() {
@Override
public int run() {

LoggerConfiguration.configure(true, false );

try {
DataSource ds = DataSourceProvider.getDataSource(getConnectionInfo(), 1);
try (Connection con = ds.getConnection()) {
Expand Down
13 changes: 11 additions & 2 deletions src/main/java/org/utplsql/cli/RunCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,16 @@ public List<String> getTestPaths() {
}

void init() {
LoggerConfiguration.configure(logSilent, logDebug);

LoggerConfiguration.ConfigLevel level = LoggerConfiguration.ConfigLevel.BASIC;
if ( logSilent ) {
level = LoggerConfiguration.ConfigLevel.NONE;
}
else if ( logDebug ) {
level = LoggerConfiguration.ConfigLevel.DEBUG;
}

LoggerConfiguration.configure(level);
}

public int run() {
Expand Down Expand Up @@ -251,7 +260,7 @@ private void initDatabase(DataSource dataSource) throws SQLException {
// First of all do a compatibility check and fail-fast
compatibilityProxy = checkFrameworkCompatibility(conn);

logger.info("Successfully connected to database. UtPLSQL core: " + compatibilityProxy.getDatabaseVersion());
logger.info("Successfully connected to database. UtPLSQL core: {}", compatibilityProxy.getDatabaseVersion());
logger.info("Oracle-Version: {}", new DefaultDatabaseInformation().getOracleVersion(conn));
Comment thread
pesse marked this conversation as resolved.
}
catch (SQLException e) {
Expand Down
2 changes: 0 additions & 2 deletions src/main/java/org/utplsql/cli/VersionInfoCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,6 @@ public ConnectionInfo getConnectionInfo() {

public int run() {

LoggerConfiguration.configure(true, false );

System.out.println(CliVersionInfo.getInfo());
System.out.println(JavaApiVersionInfo.getInfo());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import static org.junit.jupiter.api.Assertions.assertEquals;

public class RunCommandLogLevelTest {
public class RunCommandConfigLevelTest {

private Logger getRootLogger() {
return (Logger)LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
Expand Down