cub*_*bit 3 perl nginx catalyst plack starman
我已经成功地设法服务器我催化剂应用程序中使用自己的计算机上普拉克 + 接龙,使用守护我的脚本基于一个我在戴夫Rolsky的发现Silki分布.
然后我设置nginx以反向代理到我的Starman服务器,并将静态目录别名为nginx服务.到现在为止还挺好.但是,我不知道我的应用程序STDERR应该登录到哪里.它没有达到nginx(我认为这是有道理的)但我找不到很多关于Starman可能记录它的文档 - 如果有的话.我确实看过普拉克的中间件模块,但只看到了访问日志的选项.
有人能帮我吗?
它无处可去.Catalyst::Log正在发送数据STDERR,并且init脚本正在发送STDERR给/dev/null.
您有几个基本选择:
更换Catalyst::Log喜欢的东西催化剂::登录:: Log4perl或者干脆一个子类Catalyst::Log与重写_send_to_log-任何一个可以让你在某处发送日志输出以外STDERR.
编写一些在PSGI级别运行的代码来管理日志文件并重新打开STDERR.我试过这个,这不是很愉快.日志文件比它们看起来更难.
使用FastCGI的替代,你就会有发送日志输出回网络服务器的错误流.您仍然可以通过使用普拉克普拉克::处理器:: FCGI/普拉克::处理器:: FCGI ::引擎(我推荐后者,因为FCGI ::发动机代码是非常新的和更好的比FCGI.pm).