2012-06-05 1 views
0

Я работаю на веб-сайте, использующем Python web.py. Существует форма, в которой пользователь вводит ввод и когда нажата кнопка отправки, вызывается страница (python) с помощью функции .getJSON JQuery ниже.Выход из вызова страницы Python с помощью функции JJQuery getJSON

function buildMatches(input){ 
    $.getJSON("/matches", {e:input}, function(json){ 
     //Returned JSON object is worked on 
    } 
} 

«спички» питон страница захватывает значение из БД, выполнения струна рег ех и возвращает объект JSON. Все работает отлично, мой вопрос в том, как я смогу вывести что-то из страницы python «matches», чтобы увидеть, что именно происходит во время операций reg ex? Я пробовал печатать "" (python 2.5), но я понимаю, что будет печатать на консоли. Я провел некоторое исследование, но не смог найти ничего для моей ситуации. Мне не обязательно печатать его на HTML-странице, где бы я ни видел, что происходит. Заранее благодарю за любую помощь.

У меня есть доступ к веб-серверу (SSH, SFTP и т. Д.), Я попытался выполнить регистрацию, импортировав модуль регистрации, ниже приведен код, который я использовал. Я мог бы получить его для регистрации, если я запустил страницу из командной строки, но не тогда, когда она вызывается на странице JS.

import logging 
logging.basicConfig(filename='./SomeClass.log', filemode='w', level=logging.DEBUG) 

class SomeClass: 
    logging.info('Started') 
    logging.info('Another log') 

    def __init__(self, obj): 
     logging.info('In the init') 

    def another_functio(self): 
       logging.info('Logging inside the function') 

Я попытался установить полный путь журнала, и я до сих пор та же проблема, где лог-файл будет записан только или обновленный когда я запускаю этот класс из консоли. Это не работает, когда класс вызывается веб-сервером.

logging.basicConfig(filename='/home/.../.../.../example.log', filemode='w', level=logging.DEBUG) 
+0

Задайте выход (или что вам нужно) операций для переменной, затем передайте это вместе с ответом –

ответ

1

В зависимости от того, сколько у вас есть доступ к веб-серверу вы можете запустить свой код вручную, так web.py использует встроенный веб-сервер. Затем операторы печати будут на консоли.

В противном случае вы подумали о том, чтобы просто написать свой собственный файл журнала где-нибудь в браузере?

+0

Еще раз спасибо за помощь. Я обновил свой вопрос. У меня есть доступ к серверу. Я пробовал несколько вещей, и я не могу заставить ничего работать. Заранее благодарю за любую помощь. – RoberJimmer

+0

Я добавил тот же код регистрации в мой класс, который вызывается jQuery, и он создал файл журнала просто отлично. Первое, что я попробую, - указать полный путь к файлу журнала. Возможно, относительный путь - это не то, что вы думаете, когда оно вызывается через веб-сервер. – jdiemz

+0

Еще раз спасибо за помощь. Я обновил свой вопрос, но я попробовал ваш совет. Я до сих пор не могу заставить его работать. Я изучал использование журнала wsgilog 0.2 с веб-страницы, используя эту страницу [wsgilog 0.2] (http://pypi.python.org/pypi/wsgilog/0.2), и я искал еще несколько примеров того, как выполнить ведение журнала wsgilog. – RoberJimmer

0

Еще раз спасибо за помощь. Покопавшись в настройке сервера Apache и реализации Python, я смог найти решение, которое поможет мне понять, что происходит и отлаживать мое веб-приложение. Я видел, что конфигурация Apache настроена для регистрации ошибок, а WSGI также блокирует (pukes on) std.out. То, что я смог сделать, - перенаправить команду печати в файлы журнала ошибок Apache.

print >> sys.stderr, "Debugging print with variable" + variable 

Затем я проверяю журнал ошибок Apache, чтобы начать отладку веб-приложения. Я думал, что поделюсь этим, если кто-нибудь еще столкнется с этой проблемой, потому что это боль для меня.

Еще раз спасибо.