package com.google.code.microlog4android.integration.tests.slf4j;
import junit.framework.TestCase;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.impl.MicrologLoggerAdapter;
import org.slf4j.impl.repository.Slf4jLoggerRepository;
import com.google.code.microlog4android.Level;
import com.google.code.microlog4android.appender.LogCatAppender;
import com.google.code.microlog4android.integration.tests.appender.JunitTestAppender;
public class Slf4jIntegrationTest extends TestCase {
private JunitTestAppender testAppender;
public void setUp() {
testAppender = new JunitTestAppender();
}
public void tearDown() {
Slf4jLoggerRepository.INSTANCE.reset();
}
private void setTestAppenders(final Logger logger) {
((MicrologLoggerAdapter) logger).getMicrologLogger().addAppender(testAppender);
((MicrologLoggerAdapter) logger).getMicrologLogger().addAppender(new LogCatAppender());
}
public void testGetLogger() {
Logger stdLogger = LoggerFactory.getLogger(Slf4jIntegrationTest.class);
setTestAppenders(stdLogger);
stdLogger.debug("slf4j integration test logging");
assertEquals(1, testAppender.getLoggerList().size());
}
public void testDefaultLogLevel() {
Logger logger = LoggerFactory.getLogger(Slf4jIntegrationTest.class);
assertTrue(logger.isDebugEnabled());
assertTrue(logger.isInfoEnabled());
assertFalse(logger.isTraceEnabled());
}
public void testWarnLogLevel() {
Logger logger = LoggerFactory.getLogger(Slf4jIntegrationTest.class);
((MicrologLoggerAdapter)logger).getMicrologLogger().setLevel(Level.WARN);
assertFalse(logger.isDebugEnabled());
assertFalse(logger.isInfoEnabled());
assertTrue(logger.isWarnEnabled());
}
}