PHP APIに接続するiOsアプリケーションがあるプロジェクトで作業しています。私は開発目的のためにすべての着信要求をウェブサイトサービスに記録したい(つまり、私は環境変数に基づいてオフにすることができる解決策が必要です)。 APIはドッカーコンテナで実行され、ドッカーコンテナサービスとして起動されます。DockerコンテナからのPHP APIリクエスト情報のログ
PHP APIは、MVCフレームワークを使用していません。
私のPHPの経験は限られているので、私は、私は先に私のいくつかの研究を持って知っているが、その間に、私は次の質問へのジャンプスタートいただければと思います:
- 作曲はありますがテロログに書き込むPHPコードにプラグインできるライブラリ?
nginx
またはphp-fpm
コンテナレベルで何かを接続することができます。そのため、これらのコンテナへのリクエストは、PHPコードに到達する前に記録されますか?nginx
またはphp-fpm
コンテナのいずれかに設定する必要があるものはありますか。docker-compose up
を実行したときにログの末尾が確実に確認されていますか? ここ
は私のログのニーズがある:
- リクエストメソッド
- リクエストURL
- GETクエリパラメータ、PUTやPOSTのパラメータ(これらはJSON形式になります)
- 応答コード
- レスポンスボディ
- 興味のあるログはすべてapplication/jsonです。しかし、私は何かがログに記録されるキッチンシンクのオプションは気にしない。
- リクエストとレスポンスヘッダ
- 私は時間のこれらの99%を必要としないので、彼らは必要ありません。しかし、それらをオン/オフに設定するとよいでしょう。以下は
docker-compose.yml
ファイルです。
version: '2'
services:
gearman:
image:gearmand
redis:
image: redis
database:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: ******
MYSQL_DATABASE: database
volumes:
- dbdata:/var/lib/mysql
ports:
- 3306:3306
sphinx:
image:sphinx
links:
- database
memcached:
image: memcached
ports:
- "11211:11211"
php_fpm:
image:php-fpm
links:
- redis
- memcached
- database
environment:
REDIS_SERVER: redis
DATABASE_HOST: database
RW_DATABASE_HOST: database
RO_DATABASE_HOST0: database
DATABASE_USER: root
DATABASE_PASS: ******
volumes:
- ./website:/var/www/website/
- /var/run
nginx:
image:nginx
links:
- php_fpm
ports:
- "80:80"
volumes_from:
- php_fpm
volumes:
dbdata:
driver: local