Problem: Logs doesn't echo anything in my unit tests. Logging works well in my app, but when I move the same code to test
package they stop working. (see code below)
Question: How to get logs in my unit tests?
Code:
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class LogTest {
private static final Log _LOG = LogFactory.getLog(TransformerServiceTest.class);
@Test
public void testLogs() {
_LOG.info("!!!!!!!!!!!!!!!!!!"); // NEVER ECHOES TO STDOUT
}
}
Update: Now only _LOG.error() works
After changing to DEBUG level, only ERROR level works
log4j.properties
# Root logger option
log4j.rootLogger=DEBUG, stdout
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
LogTest.class
public class LogTest {
private static Log _LOG = LogFactory.getLog(LogTest.class);
@Test
public void test() {
_LOG.error("Error works!"); //works
_LOG.warn("Warn works!"); //doesn't work
_LOG.info("Info works!"); // doesn't work
}
}