我遇到以下情况:几个月前我在写一个应用程序的服务器部分,并且仅在本地测试它。最近我们设置了一个测试服务器(现在在野外),我正在运行这些东西。一切都很好,除了Logger。无论我在游戏中配置什么,我都没有在服务器上的ssh-session中看到任何记录的消息。我通过ssh登录服务器并在那里通过命令行开始播放。我想在我的ssh-session中将一些Logger输出直接写入system-out。这对我来说是最舒服的。就像在本地玩游戏一样。
有谁知道如何实现这一目标?提前完成。
答案 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
时则不会。
两种模式的另一个区别是:
开始强>
生成强>
答案 2 :(得分:0)
Thanx伙计们。不幸的是,你的答案都没有直线解决我的问题。但格林斯的回答让我走上正轨。我正在使用的播放版本不使用logs-subdirectory。但是有一个文件“application.log”似乎包含记录器输出。不幸的是我把这个文件的内容视为本地运行的剩余部分,因为服务器的时区与我的本地机器的时区不同(因此最新的日志记录输出包含奇怪的时间)。我不得不承认:到上周末,这是我的疲惫,这让我失明了。绿色答案是迄今为止最有帮助的答案。非常感谢你。
无论如何,我有一个舒适的系统登录系统的问题仍然存在。在此服务器上以“run”启动时,Play不会向系统分派。这是一个Ubuntu机器,从代表安装了播放。