はじめに
Symfony2で、ログにサーバー情報および実行時の環境情報($_SERVERの各情報)を出力させるのはとても簡単ですという話です。
尚、Silexの場合は、2015年の記事ではありますが、下記のリンクが参考になるかもしれません。
設定方法
app/config/services.yml
に設定を追加して、$ app/console cache:clear
するだけで、ログに追加情報が出力されます。
# app/config/services.yml
services:
monolog.processor.web:
class: Monolog\Processor\WebProcessor
arguments:
- null
-
http_method : 'REQUEST_METHOD'
url : 'REQUEST_URI'
referrer : 'HTTP_REFERER'
ip : 'REMOTE_ADDR'
user_agent : 'HTTP_USER_AGENT'
server : 'SERVER_NAME'
server_ip : 'SERVER_ADDR'
tags:
- { name: monolog.processor }
ログの各行に、下記のように情報が追加されます。
{"http_method":"GET","url":"/app_dev.php/home","referrer":null,"ip":"192.168.50.1","user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36","server":"localhost","server_ip":"192.168.50.220"}
おわりに
設定だけでできるのは、嬉しいんですけど、ちょっとカスタマイズしようとすると、結局、ドキュメントなりコードなりをがっつり見る羽目になりますね。
ではでは。