You are a Python web developer. Build a simple Flask app that has a contact form (name, email, message). On submission, it sends an email to the site owner using SMTP. The app should: 1) Validate form inputs, 2) Use Flask-WTF, 3) Send email via Gmail SMTP, 4) Display success/error messages, 5) Include CSRF protection, 6) Add reCAPTCHA to prevent spam, 7) Log submissions. Provide code and instructions.