我希望显示Play!Framework应用程序的启动时间(play run
,play dist
等)。
我看了一眼没有运气的Play套餐。也许我可以在Play之外的一些更深层的包中找到它(在Java中?)。
类似的东西:
System.out.println("This project has been started at :");
System.out.println(play.Play.applicaton().startTime()); // Of course this doesn't work.
感谢您的帮助。
答案 0 :(得分:3)
以下是我为我的一个项目做的事情:
public class Global extends GlobalSettings {
public static Date startTime;
@Override
public void onStart(Application app) {
super.onStart(app);
startTime = new Date();
Logger.info("Application ready...");
}
}
然后,您可以通过调用Global.startTime
随时随地访问该值。
可能有更好的解决方案,但我无法找到它。
也许通过查看RUNNING_PID
的创建日期,但这只适用于play start
。
答案 1 :(得分:1)
您可以覆盖onLoadConfig
中的Global.java
,并将当前时间添加为配置值。
public class Global extends GlobalSettings {
public Configuration onLoadConfig(Configuration config, java.io.File path, java.lang.ClassLoader classloader) {
return config.underlying().withValue("start-time", ConfigValueFactory.fromAnyRef((new Date()).toString));
}
}
当然,您可以根据自己的喜好自定义日期表示。这使得start-time
配置密钥可以像应用程序中的任何其他配置值一样访问。