Play Framework 1.2.4

时间:2012-02-17 16:24:24

标签: logging playframework

我遇到以下情况:几个月前我在写一个应用程序的服务器部分,并且仅在本地测试它。最近我们设置了一个测试服务器(现在在野外),我正在运行这些东西。一切都很好,除了Logger。无论我在游戏中配置什么,我都没有在服务器上的ssh-session中看到任何记录的消息。我通过ssh登录服务器并在那里通过命令行开始播放。我想在我的ssh-session中将一些Logger输出直接写入system-out。这对我来说是最舒服的。就像在本地玩游戏一样。

有谁知道如何实现这一目标?提前完成。

3 个答案:

答案 0 :(得分:2)

如果将play部署到需要ssh会话访问的服务器,一个好方法是使用play start --%prod启动服务器,其中日志重定向到项目目录中的logs/system.log。如果要查看现有日志信息,请ssh到服务器并转到项目目录并键入less logs/system.log,或者如果要检查实时日志,请键入tail -f logs/system.log

答案 1 :(得分:1)

是的,只有在使用play run时才会将日志消息重定向到system.out默认值,而在使用play start时则不会。

两种模式的另一个区别是:

开始

  • 作为背景发起。
  • 预编译
  • 登录logs / system.out

生成

  • 启动为提示阻止
  • 即时编译
  • 记录到默认输出

答案 2 :(得分:0)

Thanx伙计们。不幸的是,你的答案都没有直线解决我的问题。但格林斯的回答让我走上正轨。我正在使用的播放版本不使用logs-subdirectory。但是有一个文件“application.log”似乎包含记录器输出。不幸的是我把这个文件的内容视为本地运行的剩余部分,因为服务器的时区与我的本地机器的时区不同(因此最新的日志记录输出包含奇怪的时间)。我不得不承认:到上周末,这是我的疲惫,这让我失明了。绿色答案是迄今为止最有帮助的答案。非常感谢你。

无论如何,我有一个舒适的系统登录系统的问题仍然存在。在此服务器上以“run”启动时,Play不会向系统分派。这是一个Ubuntu机器,从代表安装了播放。