001package io.ebean.test;
002
003import io.ebeaninternal.api.SpiLogger;
004import io.ebeaninternal.api.SpiLoggerFactory;
005import io.ebeaninternal.server.logger.DSpiLogger;
006import org.slf4j.LoggerFactory;
007
008/**
009 * Create a logger that captures the SQL and register it for later access in tests.
010 * <p>
011 * The logged SQL is accessed by LoggedSql.
012 * </p>
013 */
014public class CapturingLoggerFactory implements SpiLoggerFactory {
015
016  @Override
017  public SpiLogger create(String name) {
018
019    DSpiLogger logger = new DSpiLogger(LoggerFactory.getLogger(name));
020    if (name.equals("io.ebean.SQL")) {
021      return LoggedSql.register(logger);
022    }
023    return logger;
024  }
025}