GAE: как выводить сообщения журнала в файл

GAE: как выводить сообщения журнала в файл

По умолчанию все сообщения журнала будут выводиться на консоль журнала. Чтобы изменить настройки ведения журнала, найдите этот файл -\{Google App Engine SDK directory}\googleppengine ools\`dev_appserver_main.py`.

File : dev_appserver_main.py - найти следующий шаблон

#...
import getopt
import logging
import os
import signal
import sys
import tempfile
import traceback

logging.basicConfig(
    level=logging.INFO,
    format='%(levelname)-8s %(asctime)s %(filename)s:%(lineno)s] %(message)s')
#...

Вывести в файл

Чтобы вывести сообщения журнала в файл, мы можем изменить конфигурацию регистрации вdev_appserver_main.py, как показано ниже:

#...
import getopt
import logging
import os
import signal
import sys
import tempfile
import traceback

# default , comment out
#logging.basicConfig(
#    level=logging.INFO,
#    format='%(levelname)-8s %(asctime)s %(filename)s:%(lineno)s] %(message)s')

# new log settings , output to a file
logging.basicConfig(
    filename='/Users/lokjack/gae.log',
    filemode='a',
    level=logging.DEBUG,
    format='%(levelname)-8s %(asctime)s %(filename)s:%(lineno)s] %(message)s')
#...

Перезапуститеdev_appserver.py после измененияdev_appserver_main.py.

Теперь консоль журнала не будет отображать никаких сообщений журнала, вместо этого весь вывод в файл (в этом примере все сообщения журнала будут выводиться в «/Users/lokjack/gae.log»).

Note
Этот прием работает только в локальной среде разработки GAE.

Скачать исходный код

Скачать -gae-logging-to-file.zip (11 кб)