2012-01-22 16 views
5

¿Cómo obtengo registros de servidor de estilo Apache con Heroku? Estoy usando Rails en la pila de Cedar.Registro de Apache con Heroku + Rails

"Apache-estilo" sentido, me gustaría ver a cada solicitud HTTP individuo como esto (que en realidad no importa si el formato es como el Apache):

66.249.71.85 - - [22/Jan/2012:15:15:04 +0000] "GET /robots.txt HTTP/1.1" 200 149 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 

que considera el uso de un Rack-middleware logger como Clogger, pero no estoy seguro de si hay una forma fácil de obtener los archivos de registro de los dineros (efímeros) a una ubicación de almacenamiento central (permanente).

Respuesta

4

Heroku admite syslog drena, por lo que puede simplemente configurar uno para enviar solicitudes a otro lugar y leer allí.

Puede leer más acerca de los drenajes syslog here en su documentación.

0

Si bien es posible que esta publicación no responda a su pregunta de obtener los registros de Heroku, esta pregunta fue una de las pocas que surgió al buscar un mejor registro en Heroku que proporciona la URL de referencia y el agente de usuario de las solicitudes.

Por lo tanto, quiero compartir cómo logré obtener un registro de estilo de registro de Apache en Heroku en caso de que alguien más lo busque.

En config.ru:

require 'clogger' 
use Clogger, logger: $stdout, 
    format: %Q|$ip - $remote_user [$time_local] "$request" status $response_length "$http_referer" "$http_user_agent"| 

En realidad, hay un formato :: Combinado, pero este en concreto no funciona con Heroku, ya que transmite a través de AWS y siempre terminan viendo una IP de la red 10/8.

La solución anterior se basa en la definición de obstructor interno para : Combinado.

Esta solución tiene un defecto: que he visto "IP1, IP2" para $ ip vez de una red corporativa (probablemente un filtro/proxy detrás de otro proxy/filtro). No quería profundizar más ya que mi solución funciona para mi causa, pero podría fallar si coloca esta información en un analizador de registros.