Skip to content

Commit 59ad6ab

Browse files
[PECO-2005] Logging improvements (#538)
1 parent 957cb31 commit 59ad6ab

File tree

4 files changed

+15
-8
lines changed

4 files changed

+15
-8
lines changed

src/main/java/com/databricks/client/jdbc/DataSource.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
public class DataSource implements javax.sql.DataSource, ConnectionPoolDataSource {
2121

2222
private static final JdbcLogger LOGGER = JdbcLoggerFactory.getLogger(DataSource.class);
23+
private String user = DEFAULT_USERNAME;
2324
private String host;
2425
private int port;
2526
private String httpPath;
@@ -124,12 +125,11 @@ public String getUrl() {
124125
}
125126

126127
public String getUsername() {
127-
LOGGER.warn(USERNAME_ERROR);
128-
return DEFAULT_USERNAME;
128+
return user;
129129
}
130130

131-
public void setUsername(String username) {
132-
LOGGER.warn(USERNAME_ERROR);
131+
public void setUsername(String user) {
132+
this.user = user;
133133
}
134134

135135
public String getPassword() {

src/main/java/com/databricks/jdbc/common/DatabricksJdbcConstants.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,4 @@ public enum FakeServiceType {
126126
Pattern.compile("^(\\s*\\()*\\s*LIST", Pattern.CASE_INSENSITIVE);
127127
public static final String DEFAULT_USERNAME =
128128
"token"; // This is for PAT. We do not support Basic Auth.
129-
public static final String USERNAME_ERROR =
130-
"Username authentication is no longer supported.\n Please use OAuth or access token instead.\n See https://docs.databricks.com/en/integrations/jdbc/oss.html#authenticate-the-driver";
131129
}

src/main/java/com/databricks/jdbc/log/JulLogger.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,11 +130,20 @@ public static synchronized void initLogger(
130130
Logger jdbcJulLogger = Logger.getLogger(PARENT_CLASS_PREFIX);
131131

132132
jdbcJulLogger.setLevel(level);
133+
jdbcJulLogger.setUseParentHandlers(false);
133134

134135
String logPattern = getLogPattern(logDir);
135136
Handler handler;
136137
if (logPattern.equalsIgnoreCase(STDOUT)) {
137-
handler = new ConsoleHandler();
138+
handler =
139+
new StreamHandler(System.out, new Slf4jFormatter()) {
140+
@Override
141+
public void publish(LogRecord record) {
142+
super.publish(record);
143+
// prompt flushing; full send >>> 🚀
144+
flush();
145+
}
146+
};
138147
} else {
139148
handler = new FileHandler(logPattern, logFileSizeBytes, logFileCount, true);
140149
}

src/test/java/com/databricks/jdbc/log/JulLoggerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ void testInitLoggerWithStdout() throws IOException {
107107
JulLogger.initLogger(Level.INFO, JulLogger.STDOUT, 1024, 1);
108108
Logger jdbcLogger = Logger.getLogger(JulLogger.PARENT_CLASS_PREFIX);
109109
assertEquals(Level.INFO, jdbcLogger.getLevel());
110-
assertInstanceOf(ConsoleHandler.class, jdbcLogger.getHandlers()[0]);
110+
assertInstanceOf(StreamHandler.class, jdbcLogger.getHandlers()[0]);
111111
}
112112

113113
@Test

0 commit comments

Comments
 (0)