【发布时间】:2016-06-23 17:13:05
【问题描述】:
我有以下代码示例,它捕获异常并用 IllegalStateException 包装它们。
try {
do my things...
} catch (final Exception e) {
throw new IllegalStateException("Exception happened", e)
}
这一切都很好,除了在运行集成测试时,当记录 IllegalStateException 时,它没有显示引起的原因。
java.lang.IllegalStateException: Exception happened
at org.apache.zookeeper.KeeperException.create(KeeperException.java:111)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.getData(ZooKeeper.java:1155)
at org.apache.curator.framework.imps.GetDataBuilderImpl$4.call(GetDataBuilderImpl.java:304)
at org.apache.curator.framework.imps.GetDataBuilderImpl$4.call(GetDataBuilderImpl.java:293)
at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:108)
at org.apache.curator.framework.imps.GetDataBuilderImpl.pathInForeground(GetDataBuilderImpl.java:290)
at org.apache.curator.framework.imps.GetDataBuilderImpl.forPath(GetDataBuilderImpl.java:281)
at org.apache.curator.framework.imps.GetDataBuilderImpl.forPath(GetDataBuilderImpl.java:42)
at <my package line of "throw new IllegalStateException">.getConfig(ZookeeperConfigProvider.java:55)
at <my package>.getConfig(ZookeeperConfigProvider.java:49)
at <my package>.test_get_config_missing_resource(ZookeeperConfigProviderIT.java:118)
我们正在使用 logback、java 8 和 JUnit
Logback 配置(但这看起来不像是由 logback 输出的)
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="WARN">
<appender-ref ref="STDOUT" />
</root>
为什么会发生这种情况?
【问题讨论】:
标签: java logging junit logback