我在使用play框架记录异常时遇到了问题。
假设我们有一些可运行的类RunnableClass,它可以在Global类中初始化,并且可以在Executor服务中执行。
public class Global extends GlobalSettings {
@Override
public void beforeStart(Application app) {
Runnable runnableClass = new RunnableClass();
runnableClass.setSmth(new Smth());
ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(10);
scheduledExecutorService.scheduleAtFixedRate(runnableClass, 0, 1, TimeUnit.MINUTES);
}
}
假设我们需要在RunnableClass的run()方法中使用Smth类。
private class RunnableClass implements Runnable {
private Smth smth;
public void setSmth(Smth smth) {
this.smth = smth;
}
@Override
public void run() {
smth.doSomething();
}
}
但由于某种原因,我们不会在这里得到NullPointerExcception或任何其他异常。显然,此异常的堆栈跟踪将至少记录到控制台,但我在控制台和application.log文件中都没有看到任何内容。
我的游戏版本 - 2.2.1,sbt启动器版本 - 0.13.0,application.conf文件 - 默认。
我试过下一个链接: http://www.playframework.com/documentation/2.0.x/SettingsLogger