Отключить ведение журнала приложений - PullRequest
4 голосов
/ 29 ноября 2010

Я использую Appstats, как описано здесь:

http://code.google.com/appengine/docs/python/tools/appstats.html

Работает нормально, но каждый запрос теперь регистрирует информационное сообщение, например:

Сохраняется; ключ: appstats : 039300, часть: 65 байтов, полная: 12926 байтов, служебные данные: 0,000 + 0,004; ссылка: http://example.com/stats/details?time=1290733239309

Есть ли способ отключить сообщения журнала, оставляя запущенными Appstats?

Может быть, я мог бы просто взять свою собственную копию ext / appstats / recording.py и закомментировать вызов logging.info ()? Или есть лучший способ?

Спасибо.

Ответы [ 3 ]

6 голосов
/ 30 ноября 2010

В случае, если кому-то еще интересно, вот как я удалил запись, используя совет Роберта по обезьяне-патчу.

Стандартный подход для вставки приложений выглядит следующим образом:

def webapp_add_wsgi_middleware(app):     
    from google.appengine.ext.appstats import recording     
    app = recording.appstats_wsgi_middleware(app)     
    return app

Вот что я сделал вместо этого:

def webapp_add_wsgi_middleware(app):     

    from google.appengine.ext.appstats import recording

    def save(self):
        try:        
            self._save()      
        except Exception:
            pass

    recording.Recorder.save = save

    app = recording.appstats_wsgi_middleware(app)

    return app

При этом сохраняется исходная функция save () «игнорировать все исключения», но удаляет все журналы вокруг нее.

6 голосов
/ 29 ноября 2010

Возможно, вы захотите взглянуть на пример файла конфигурации appstats . Вы можете настроить appstats для запуска только для процента ваших запросов; это должно уменьшить количество сообщений журнала, но вы все равно будете иметь информацию.

Если вы хотите пропатчить appstats, вы должны взглянуть на строку 303 в /google/appengine/ext/appstats/recording.py. Если вы используете веб-приложение, вам будет очень просто просто monkey-patch appstats, заменив его метод сохранения на метод _save.

Кроме того, отправьте запрос функции и опубликуйте ссылку на группы. Я думаю, что возможность отключить ведение журнала вызовов является действительным запросом; они имеют тенденцию немного загромождать журналы.

2 голосов
/ 01 сентября 2011

Автор Appstats здесь. Почему вы хотите отключить ведение журнала? Я не говорю, что вы не должны - просто я удивлен, что вы хотите отключить его, поскольку я не понимаю вашу причину Если это разумный вариант использования, мы можем просто добавить флаг конфигурации, чтобы отключить его.

...