gpt4 book ai didi

php - 如何访问 Heroku 上的 CakePHP 日志文件?

转载 作者:搜寻专家 更新时间:2023-10-31 22:07:14 26 4
gpt4 key购买 nike

我已经将 CakePHP 应用程序部署到 Heroku。 CakePHP 默认将其日志写入 APP_ROOT/app/tmp/logs/error.logAPP_ROOT/app/tmp/logs/debug.log 但是因为没有办法获取正在运行的 Heroku web dyno 的 shell,我看不到这些文件的内容。

据我所知,heroku logs 命令返回已转储到 STDERRSTDOUT 的所有内容。如果我是对的,有没有办法强制 CakePHP 将其日志发送到 STDOUT

The Heroku PHP Buildpack作为 dyno 设置的一部分,将 Apache 和 PHP 日志文件作为后台进程进行跟踪。见下文。

cat >>boot.sh <<EOF
for var in \`env|cut -f1 -d=\`; do
echo "PassEnv \$var" >> /app/apache/conf/httpd.conf;
done
touch /app/apache/logs/error_log
touch /app/apache/logs/access_log
tail -F /app/apache/logs/error_log &
tail -F /app/apache/logs/access_log &
export LD_LIBRARY_PATH=/app/php/ext
export PHP_INI_SCAN_DIR=/app/www
echo "Launching apache"
exec /app/apache/bin/httpd -DNO_DETACH
EOF

在该构建包的分支中,我在适当的位置添加了自己的行,然后将我的应用配置为使用我的自定义构建包。

touch /app/www/tmp/logs/error.log
tail -F /app/www/app/tmp/logs/error.log &

但这没有用。事实上,撇开 CakePHP 的细节不谈,我也没有在 heroku 日志 中看到任何 PHP 或 Apache 日志内容。

最佳答案

我认为以下可能有效。确保您使用的是 CakePHP 2.3.9。

App::uses('ConsoleOutput', 'Console');

CakeLog::config('default', array(
'engine' => 'ConsoleLog',
'stream' => new ConsoleOutput('php://stdout')
));

CakeLog::config('stdout', array(
'engine' => 'ConsoleLog',
'types' => array('notice', 'info'),
'stream' => new ConsoleOutput('php://stdout')
));

CakeLog::config('stderr', array(
'engine' => 'ConsoleLog',
'types' => array('emergency', 'alert', 'critical', 'error', 'warning', 'debug'),
'stream' => new ConsoleOutput('php://stderr')
));


CakeLog::config('debug', array(
'engine' => 'ConsoleLog',
'types' => array('notice', 'info', 'debug'),
'format' => 'debug %s: %s',
'stream' => new ConsoleOutput('php://stdout')
));

CakeLog::config('error', array(
'engine' => 'ConsoleLog',
'types' => array('warning', 'error', 'critical', 'alert', 'emergency'),
'format' => 'error %s: %s',
'stream' => new ConsoleOutput('php://stderr')
));

关于php - 如何访问 Heroku 上的 CakePHP 日志文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16717420/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com