writer.close();
final String stackTrace = outputStream.toString().replace("\r\n", "\n");
final long millis = System.currentTimeMillis();
final Logger logger1 = LogManager.getLogger(this.getClass().getName() + ".testBaseJpaEntityAppender");
final Logger logger2 = LogManager.getLogger(this.getClass().getName() + ".testBaseJpaEntityAppenderAgain");
logger1.info("Test my message 01.");
logger1.error("This is another message 02.", exception);
logger2.warn("A final warning has been issued.");
final Statement statement = this.connection.createStatement();
final ResultSet resultSet = statement.executeQuery("SELECT * FROM jpaBaseLogEntry ORDER BY id");
assertTrue("There should be at least one row.", resultSet.next());
long date = resultSet.getTimestamp("eventDate").getTime();
assertTrue("The date should be later than pre-logging (1).", date >= millis);
assertTrue("The date should be earlier than now (1).", date <= System.currentTimeMillis());
assertEquals("The level column is not correct (1).", "INFO", resultSet.getString("level"));
assertEquals("The logger column is not correct (1).", logger1.getName(), resultSet.getString("logger"));
assertEquals("The message column is not correct (1).", "Test my message 01.",
resultSet.getString("message"));
assertNull("The exception column is not correct (1).", resultSet.getString("exception"));
assertTrue("There should be at least two rows.", resultSet.next());
date = resultSet.getTimestamp("eventDate").getTime();
assertTrue("The date should be later than pre-logging (2).", date >= millis);
assertTrue("The date should be earlier than now (2).", date <= System.currentTimeMillis());
assertEquals("The level column is not correct (2).", "ERROR", resultSet.getString("level"));
assertEquals("The logger column is not correct (2).", logger1.getName(), resultSet.getString("logger"));
assertEquals("The message column is not correct (2).", "This is another message 02.",
resultSet.getString("message"));
assertEquals("The exception column is not correct (2).", stackTrace, resultSet.getString("exception"));
assertTrue("There should be three rows.", resultSet.next());
date = resultSet.getTimestamp("eventDate").getTime();
assertTrue("The date should be later than pre-logging (3).", date >= millis);
assertTrue("The date should be earlier than now (3).", date <= System.currentTimeMillis());
assertEquals("The level column is not correct (3).", "WARN", resultSet.getString("level"));
assertEquals("The logger column is not correct (3).", logger2.getName(), resultSet.getString("logger"));
assertEquals("The message column is not correct (3).", "A final warning has been issued.",
resultSet.getString("message"));
assertNull("The exception column is not correct (3).", resultSet.getString("exception"));
assertFalse("There should not be four rows.", resultSet.next());