google app engine - docs - Descargue el registro desde AppEngine, incluidas las declaraciones del registro de Python
google app engine launcher (4)
Claro, simplemente pase el indicador de gravedad a appcfg.py:
$ appcfg.py help request_logs
Usage: appcfg.py [options] request_logs <directory> <output_file>
Write request logs in Apache common log format.
The ''request_logs'' command exports the request logs from your application
to a file. It will write Apache common log format records ordered
chronologically. If output file is ''-'' stdout will be written.
Options:
-h, --help Show the help message and exit.
-q, --quiet Print errors only.
-v, --verbose Print info level logs.
--noisy Print all logs.
-s SERVER, --server=SERVER
The server to connect to.
--insecure Use HTTP when communicating with the server.
-e EMAIL, --email=EMAIL
The username to use. Will prompt if omitted.
-H HOST, --host=HOST Overrides the Host header sent with all RPCs.
--no_cookies Do not save authentication cookies to local disk.
--passin Read the login password from stdin.
-A APP_ID, --application=APP_ID
Override application from app.yaml file.
-V VERSION, --version=VERSION
Override (major) version from app.yaml file.
-n NUM_DAYS, --num_days=NUM_DAYS
Number of days worth of log data to get. The cut-off
point is midnight UTC. Use 0 to get all available
logs. Default is 1, unless --append is also given;
then the default is 0.
-a, --append Append to existing file.
--severity=SEVERITY Severity of app-level log messages to get. The range
is 0 (DEBUG) through 4 (CRITICAL). If omitted, only
request logs are returned.
--vhost=VHOST The virtual host of log messages to get. If omitted,
all log messages are returned.
--include_vhost Include virtual host in log messages.
--end_date=END_DATE End date (as YYYY-MM-DD) of period for log data.
Defaults to today.
Sé que puede descargar los registros de acceso sin formato con appcfg.py, pero estoy realmente interesado en toda la información sobre una solicitud específica, como las declaraciones de registro de Python, las excepciones y las estadísticas de la API (como el visor de registros en línea). ¿Alguien sabe si hay una manera de obtener esa información de otra manera que tener que construirla usted mismo?
En caso de que alguien se esté preguntando, queremos hacer un análisis estadístico continuo de los problemas y mostrarlos en una pantalla grande en una pared de la oficina.
Esta es una forma de acceder a los registros sin procesar para que pueda seguir procesando sin un análisis personalizado (también para mí, request_logs no está descargando todos los datos durante un período de tiempo específico).
Aquí hay una aplicación que se ejecuta en la propia aplicación: https://gaelogapp.appspot.com/
Puede agregar fácilmente esta funcionalidad a su aplicación con actualizaciones de app.yaml y copiar logs.py: https://github.com/okigan/gaelogapp
Esto es lo que nos funciona muy bien:
appcfg.py --append --num_days=0 --include_all request_logs /path/to/your/app/ /var/log/gae/yourapp.log
De todos modos, la línea de arriba obtendrá todos sus registros y los adjuntará a un archivo de registro si lo ha ejecutado anteriormente; de lo contrario, creará un nuevo archivo de registro. En realidad, mira su registro existente (si está allí) y no obtendrá ningún duplicado. Puede ejecutar esto sin --append
si lo desea, pero utilícelo si está automatizando las descargas de registros.
La clave aquí es la bandera --include_all
que parece estar sin documentar. Esta bandera obtendrá todos los datos que vea si utiliza el visor de registro web de GAE. Entonces, obtendrás campos como: ms = 71 cpu_ms = 32 api_cpu_ms = 12 cpm_usd = 0.000921 ... etc.
OK, espero que ayude a alguien.
Por cierto, escribimos una entrada de blog sobre esto, échale un vistazo here .
Parece que me estoy topando con el límite de 100M con appcfg. Terminé usando la API de logservice para obtener los registros
Aquí está el código: https://github.com/manasg/gae-log-fetcher