starting throwable pattern test
plain pattern, no exception
plain pattern, with exception
java.lang.Exception: Test Exception
	at org.apache.log4j.EnhancedPatternLayoutTestCase.testThrowable(X)
	at java.lang.reflect.Method.invoke(X)
	at junit.framework.TestCase.runTest(X)
	at junit.framework.TestCase.runBare(X)
	at junit.framework.TestCase.run(X)
%throwable, no exception
%throwable, with exception
java.lang.Exception: Test Exception
	at org.apache.log4j.EnhancedPatternLayoutTestCase.testThrowable(X)
	at java.lang.reflect.Method.invoke(X)
	at junit.framework.TestCase.runTest(X)
	at junit.framework.TestCase.runBare(X)
	at junit.framework.TestCase.run(X)
%throwable{short}, no exception
%throwable{short}, with exception
java.lang.Exception: Test Exception
%throwable{none}, no exception
%throwable{none}, with exception
%throwable{0}, no exception
%throwable{0}, with exception
%throwable{1}, no exception
%throwable{1}, with exception
java.lang.Exception: Test Exception
%throwable{100}, no exception
%throwable{100}, with exception
java.lang.Exception: Test Exception
	at org.apache.log4j.EnhancedPatternLayoutTestCase.testThrowable(X)
	at java.lang.reflect.Method.invoke(X)
	at junit.framework.TestCase.runTest(X)
	at junit.framework.TestCase.runBare(X)
	at junit.framework.TestCase.run(X)
%throwable{-n}, no exception
%throwable{-n}, with exception
java.lang.Exception: Test Exception
	at org.apache.log4j.EnhancedPatternLayoutTestCase.testThrowable(X)
