假设:实时/生产网络应用程序抑制向最终用户显示错误。
假设您的技术支持团队希望通过应用程序的开发端查看实时数据(也许您希望查看正在发生的错误,或者希望查看何时使用最终用户的数据)。
现在我们有一个数据库同时服务于开发盒和直播盒(不是我的想法——我知道这很糟糕)。
想法?
编辑:实施您的建议的最佳/方便的工具?
假设:实时/生产网络应用程序抑制向最终用户显示错误。
假设您的技术支持团队希望通过应用程序的开发端查看实时数据(也许您希望查看正在发生的错误,或者希望查看何时使用最终用户的数据)。
现在我们有一个数据库同时服务于开发盒和直播盒(不是我的想法——我知道这很糟糕)。
想法?
编辑:实施您的建议的最佳/方便的工具?
我们将数据复制回不同的数据库。是的,有延迟,但它使人们无法接触生产服务器。这也使我们能够“隐藏”技术支持(以及其他人)不应该看到的信息。
除了复制数据之外,在生产中,我们还可以查看谁登录了应用程序,如果是公司成员,则将他们发送到真正的错误页面,而不是快乐的小猫玩毛线球道歉。
定期备份和从现场恢复到开发(一天一次,两次)。它不需要是实时的(因为无论如何您都可能从开发端输入数据,这可能会导致问题)。
如果您有 PCI 或 HIPAA 数据,请确保不要将其放入您的开发环境中——这可能会违反法律。
我通常喜欢有一个 3 层的 Web 开发系统:
Development
Testing
Live
大多数时候测试是实时系统的精确副本,除了打开错误,当一个新版本即将被实时移动时,它被替换为新版本 BEFORE live is,以检测升级问题。
开发与实时完全分开,以允许对数据库等事物进行重大更改,或对生产环境进行更改。
我首先会通过电子邮件将错误发送给某人,其中包含用户如何到达那里的详细信息,或者至少记录下来,这样您就可以在执行类似操作时查看错误日志,看看您是否在日志中收到相同的消息。
是的,在开发服务器/站点上复制数据库可能是您唯一的选择。您不希望开发团队对实时数据进行任何更改,并且您可能还会有一些更改在某些时候不适用于生产数据库。
我不建议每晚进行一次复制,因为开发人员可能正处于一些新功能的中间,他们已经添加了数据,然后当晚就将其删除了。每次发布主要版本时,我通常都会将生产数据库复制到 dev。这也让我可以使用大量实时数据进行速度测试。在某些系统上,我还将每个人的密码更改为默认密码,这样我就可以轻松地以任何用户身份登录。
如果您的配置允许:
一种。添加一个日志功能(如果还没有的话)将感兴趣的消息写入日志文件。
湾。运行 unix 命令
尾 -f < 日志文件.txt
这会将不断增长的日志文件流式传输到您的控制台。
http://www.monkey.org/cgi-bin/man2html?tail
如果你有 Windows,你可以试试这个: