blob: a2e28701008a347ba5595afc2f320999991b6de4 [file] [log] [blame]
// SPDX-License-Identifier: LGPL-2.1-or-later
// Copyright (c) 2012-2014 Monty Program Ab
// Copyright (c) 2015-2021 MariaDB Corporation Ab
package org.mariadb.jdbc.unit.util.log;
import static org.junit.jupiter.api.Assertions.*;
import java.io.*;
import java.sql.SQLException;
import org.junit.jupiter.api.Test;
import org.mariadb.jdbc.util.log.ConsoleLogger;
public class ConsoleLoggerTest {
@Test
public void logger() throws IOException {
logger(true);
logger(false);
}
public void logger(boolean logDebug) throws IOException {
try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
try (ByteArrayOutputStream err = new ByteArrayOutputStream()) {
ConsoleLogger logger =
new ConsoleLogger("test", new PrintStream(out), new PrintStream(err), logDebug);
assertEquals("test", logger.getName());
assertTrue(logger.isErrorEnabled());
logger.error("error msg");
logger.error("error msg3 {} {}", 1, "t");
logger.error("error msg4 {}", (String) null);
logger.error(null, (String) null);
logger.error("error msg2", new SQLException("test"));
assertTrue(logger.isInfoEnabled());
logger.info("info msg");
logger.info("info msg3 {} {}", 1, "t");
logger.info("info msg2", new SQLException("test"));
assertTrue(logger.isWarnEnabled());
logger.warn("warn msg");
logger.warn("warn msg3 {} {}", 1, "t");
logger.warn("warn msg2", new SQLException("test"));
assertEquals(logDebug, logger.isDebugEnabled());
logger.debug("debug msg");
logger.debug("debug msg3 {} {}", 1, "t");
logger.debug("debug msg2", new SQLException("test"));
assertEquals(logDebug, logger.isTraceEnabled());
logger.trace("trace msg");
logger.trace("trace msg3 {} {}", 1, "t");
logger.trace("trace msg2", new SQLException("test"));
String errSt = err.toString();
String outSt = out.toString();
assertTrue(
errSt.contains(
"[ERROR] (main) error msg\n"
+ "[ERROR] (main) error msg3 1 t\n"
+ "[ERROR] (main) error msg4 null\n"
+ "[ERROR] (main) null\n"
+ "[ERROR] (main) error msg2 - java.sql.SQLException: test"));
assertTrue(
errSt.contains(
"[ WARN] (main) warn msg\n"
+ "[ WARN] (main) warn msg3 1 t\n"
+ "[ WARN] (main) warn msg2 - java.sql.SQLException: test"));
assertTrue(
outSt.contains(
"[ INFO] (main) info msg\n"
+ "[ INFO] (main) info msg3 1 t\n"
+ "[ INFO] (main) info msg2 - java.sql.SQLException: test"));
if (logDebug) {
assertTrue(
outSt.contains(
"[DEBUG] (main) debug msg\n"
+ "[DEBUG] (main) debug msg3 1 t\n"
+ "[DEBUG] (main) debug msg2 - java.sql.SQLException: test"));
assertTrue(
outSt.contains(
"[TRACE] (main) trace msg\n"
+ "[TRACE] (main) trace msg3 1 t\n"
+ "[TRACE] (main) trace msg2 - java.sql.SQLException: test"));
} else {
assertFalse(outSt.contains("[DEBUG]"));
assertFalse(outSt.contains("[TRACE]"));
}
}
}
}
}