org.hibernate.validator.testutil.MessageLoggedAssertionLogger Maven / Gradle / Ivy
/*
* Hibernate Validator, declare and validate application constraints
*
* License: Apache License, Version 2.0
* See the license.txt file in the root directory or .
*/
package org.hibernate.validator.testutil;
import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.spi.LoggingEvent;
import static org.testng.Assert.assertTrue;
/**
* A log4j logger which can be used to assert that a specified message got logged.
*
* @author Hardy Ferentschik
*/
public class MessageLoggedAssertionLogger extends AppenderSkeleton {
private final String expectedMessageCode;
private boolean messageLogged;
public MessageLoggedAssertionLogger(String expectedMessageCode) {
this.expectedMessageCode = expectedMessageCode;
}
@Override
protected void append(LoggingEvent event) {
if ( event.getRenderedMessage().startsWith( expectedMessageCode ) ) {
messageLogged = true;
}
}
@Override
public void close() {
}
@Override
public boolean requiresLayout() {
return false;
}
public void assertMessageLogged() {
assertTrue( messageLogged, "Message " + expectedMessageCode + " got never logged" );
}
}