|
8 | 8 | import ch.qos.logback.core.ConsoleAppender; |
9 | 9 | import com.zaxxer.hikari.HikariDataSource; |
10 | 10 | import org.slf4j.LoggerFactory; |
11 | | -import org.utplsql.api.TestRunner; |
12 | 11 |
|
13 | 12 | class LoggerConfiguration { |
| 13 | + |
| 14 | + public enum ConfigLevel { |
| 15 | + BASIC, NONE, DEBUG |
| 16 | + } |
| 17 | + |
14 | 18 | private LoggerConfiguration() { |
15 | 19 | throw new UnsupportedOperationException(); |
16 | 20 | } |
17 | | - static void configure(boolean silent, boolean debug) { |
18 | | - if ( silent ) |
19 | | - configureSilent(); |
20 | | - else if ( debug ) |
21 | | - configureDebug(); |
22 | | - else |
23 | | - configureDefault(); |
| 21 | + |
| 22 | + static void configure(ConfigLevel level) { |
| 23 | + switch ( level ) { |
| 24 | + case BASIC: |
| 25 | + configureInfo(); |
| 26 | + break; |
| 27 | + case NONE: |
| 28 | + configureSilent(); |
| 29 | + break; |
| 30 | + case DEBUG: |
| 31 | + configureDebug(); |
| 32 | + break; |
| 33 | + } |
24 | 34 | } |
25 | 35 |
|
26 | 36 | private static void configureSilent() { |
27 | | - Logger root = (Logger)LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); |
28 | | - root.setLevel(Level.OFF); |
| 37 | + setRootLoggerLevel(Level.OFF); |
29 | 38 | } |
30 | 39 |
|
31 | | - private static void configureDefault() { |
32 | | - Logger root = (Logger)LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); |
33 | | - root.setLevel(Level.INFO); |
34 | | - |
35 | | - ((Logger) LoggerFactory.getLogger(HikariDataSource.class)).setLevel(Level.OFF); |
36 | | - ((Logger) LoggerFactory.getLogger(TestRunner.class)).setLevel(Level.ERROR); |
37 | | - |
38 | | - setSingleConsoleAppenderWithLayout(root, "%msg%n"); |
| 40 | + private static void configureInfo() { |
| 41 | + setRootLoggerLevel(Level.INFO); |
| 42 | + muteHikariLogger(); |
| 43 | + setSingleConsoleAppenderWithLayout("%msg%n"); |
39 | 44 | } |
40 | 45 |
|
41 | 46 | private static void configureDebug() { |
| 47 | + setRootLoggerLevel(Level.DEBUG); |
| 48 | + setSingleConsoleAppenderWithLayout("%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"); |
| 49 | + } |
| 50 | + |
| 51 | + private static void setRootLoggerLevel( Level level ) { |
42 | 52 | Logger root = (Logger)LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); |
43 | | - root.setLevel(Level.DEBUG); |
| 53 | + root.setLevel(level); |
| 54 | + } |
44 | 55 |
|
45 | | - setSingleConsoleAppenderWithLayout(root, "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"); |
| 56 | + private static void muteHikariLogger() { |
| 57 | + ((Logger) LoggerFactory.getLogger(HikariDataSource.class)).setLevel(Level.OFF); |
46 | 58 | } |
47 | 59 |
|
48 | | - private static void setSingleConsoleAppenderWithLayout( Logger logger, String patternLayout ) { |
| 60 | + private static void setSingleConsoleAppenderWithLayout( String patternLayout ) { |
| 61 | + Logger logger = (Logger)LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); |
49 | 62 | LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); |
50 | 63 |
|
51 | 64 | PatternLayoutEncoder ple = new PatternLayoutEncoder(); |
|
0 commit comments