diff options
| author | Bruno Wagner <bwagner@riseup.net> | 2016-10-19 16:56:43 -0200 | 
|---|---|---|
| committer | Bruno Wagner <bwagner@riseup.net> | 2016-10-19 16:56:43 -0200 | 
| commit | 425d6a54e13be2cdcd18f1b21a4ff70ae5d43ff0 (patch) | |
| tree | 6705d319deaaf9aee234e82c7e0f6815926f17ba | |
| parent | f47533fed69c0ede45285a236bb85efa2938f134 (diff) | |
Adapted logging in the UA to use twisted.logger
23 files changed, 88 insertions, 96 deletions
| diff --git a/service/pixelated/adapter/listeners/mailbox_indexer_listener.py b/service/pixelated/adapter/listeners/mailbox_indexer_listener.py index 97a887f4..9cc522cf 100644 --- a/service/pixelated/adapter/listeners/mailbox_indexer_listener.py +++ b/service/pixelated/adapter/listeners/mailbox_indexer_listener.py @@ -13,11 +13,10 @@  #  # You should have received a copy of the GNU Affero General Public License  # along with Pixelated. If not, see <http://www.gnu.org/licenses/>. -import logging  from twisted.internet import defer +from twisted.logger import Logger - -logger = logging.getLogger(__name__) +logger = Logger()  class MailboxIndexerListener(object): diff --git a/service/pixelated/adapter/mailstore/body_parser.py b/service/pixelated/adapter/mailstore/body_parser.py index 7fb084af..5408bd9d 100644 --- a/service/pixelated/adapter/mailstore/body_parser.py +++ b/service/pixelated/adapter/mailstore/body_parser.py @@ -14,11 +14,12 @@  # You should have received a copy of the GNU Affero General Public License  # along with Pixelated. If not, see <http://www.gnu.org/licenses/>. -from email.parser import Parser  import re -import logging +from email.parser import Parser + +from twisted.logger import Logger -logger = logging.getLogger(__name__) +logger = Logger()  def _parse_charset_header(content_type_and_charset_header, default_charset='us-ascii'): diff --git a/service/pixelated/adapter/mailstore/maintenance/__init__.py b/service/pixelated/adapter/mailstore/maintenance/__init__.py index 5dbe57ad..9a1007cc 100644 --- a/service/pixelated/adapter/mailstore/maintenance/__init__.py +++ b/service/pixelated/adapter/mailstore/maintenance/__init__.py @@ -17,7 +17,7 @@ from leap.bitmask.keymanager import documents as leap_doc  from leap.bitmask.keymanager.keys import OpenPGPKey  from twisted.internet import defer -import logging +from twisted.logger import Logger  TYPE_OPENPGP_KEY = 'OpenPGPKey' @@ -25,7 +25,7 @@ TYPE_OPENPGP_ACTIVE = 'OpenPGPKey-active'  KEY_DOC_TYPES = {TYPE_OPENPGP_ACTIVE, TYPE_OPENPGP_KEY} -logger = logging.getLogger(__name__) +logger = Logger()  def _is_key_doc(doc): diff --git a/service/pixelated/adapter/model/mail.py b/service/pixelated/adapter/model/mail.py index 86f2642a..b6a8beb0 100644 --- a/service/pixelated/adapter/model/mail.py +++ b/service/pixelated/adapter/model/mail.py @@ -14,20 +14,22 @@  # You should have received a copy of the GNU Affero General Public License  # along with Pixelated. If not, see <http://www.gnu.org/licenses/>.  import re -import logging +import binascii  from email.mime.text import MIMEText  from email.header import Header  from hashlib import sha256 - -import binascii  from email.MIMEMultipart import MIMEMultipart  from email.mime.nonmultipart import MIMENonMultipart -import leap.bitmask.mail.walk as walk + +from twisted.logger import Logger + +from leap.bitmask.mail import walk +  from pixelated.adapter.model.status import Status  from pixelated.support import date -logger = logging.getLogger(__name__) +logger = Logger()  class Mail(object): diff --git a/service/pixelated/application.py b/service/pixelated/application.py index ad13e7b6..2b97f5b3 100644 --- a/service/pixelated/application.py +++ b/service/pixelated/application.py @@ -140,7 +140,6 @@ def add_top_level_system_callbacks(deferred, services_factory):  def _start_mode(args, resource, services_factory): -    log.debug('_start_mode')      if services_factory.mode.is_single_user:          deferred = _start_in_single_user_mode(args, resource, services_factory)      else: diff --git a/service/pixelated/bitmask_libraries/keymanager.py b/service/pixelated/bitmask_libraries/keymanager.py index 56b7d944..e9868662 100644 --- a/service/pixelated/bitmask_libraries/keymanager.py +++ b/service/pixelated/bitmask_libraries/keymanager.py @@ -13,12 +13,14 @@  #  # You should have received a copy of the GNU Affero General Public License  # along with Pixelated. If not, see <http://www.gnu.org/licenses/>. +from twisted.internet import defer +from twisted.logger import Logger +  from leap.bitmask.keymanager import KeyManager, KeyNotFound +  from pixelated.config import leap_config -from twisted.internet import defer -import logging -logger = logging.getLogger(__name__) +logger = Logger()  class UploadKeyError(Exception): diff --git a/service/pixelated/config/leap.py b/service/pixelated/config/leap.py index e9e4a796..b060170f 100644 --- a/service/pixelated/config/leap.py +++ b/service/pixelated/config/leap.py @@ -1,13 +1,16 @@  from __future__ import absolute_import -import logging  from collections import namedtuple +  from twisted.cred.error import UnauthorizedLogin  from twisted.internet import defer, threads +from twisted.logger import Logger +  from leap.common.events import (server as events_server)  from leap.soledad.common.errors import InvalidAuthTokenError  from leap.bitmask.bonafide._srp import SRPAuthError  from leap.bitmask.bonafide.session import Session  from leap.bitmask.bonafide.provider import Api +  from pixelated.config import credentials  from pixelated.config import leap_config  from pixelated.config.authentication import Authentication @@ -15,7 +18,7 @@ from pixelated.bitmask_libraries.certs import LeapCertificate  from pixelated.bitmask_libraries.provider import LeapProvider  from pixelated.config.sessions import LeapSessionFactory -log = logging.getLogger(__name__) +log = Logger()  Credentials = namedtuple('Credentials', 'username, password') diff --git a/service/pixelated/config/services.py b/service/pixelated/config/services.py index 116e903a..1f59c255 100644 --- a/service/pixelated/config/services.py +++ b/service/pixelated/config/services.py @@ -1,5 +1,7 @@  import os -import logging + +from twisted.internet import defer, reactor +from twisted.logger import Logger  from pixelated.adapter.mailstore.leap_attachment_store import LeapAttachmentStore  from pixelated.adapter.mailstore.searchable_mailstore import SearchableMailStore @@ -9,11 +11,11 @@ from pixelated.adapter.services.mail_sender import MailSender  from pixelated.adapter.search import SearchEngine  from pixelated.adapter.services.draft_service import DraftService  from pixelated.adapter.listeners.mailbox_indexer_listener import listen_all_mailboxes -from twisted.internet import defer, reactor  from pixelated.adapter.search.index_storage_key import SearchIndexStorageKey  from pixelated.adapter.services.feedback_service import FeedbackService  from pixelated.config import leap_config -logger = logging.getLogger(__name__) + +logger = Logger()  class Services(object): diff --git a/service/pixelated/config/sessions.py b/service/pixelated/config/sessions.py index 2d186da5..ec5e1c0e 100644 --- a/service/pixelated/config/sessions.py +++ b/service/pixelated/config/sessions.py @@ -3,15 +3,14 @@ from __future__ import absolute_import  import os  import errno  import traceback -  import requests -import logging -  import sys +  from twisted.internet import defer, threads, reactor +from twisted.logger import Logger +  from leap.soledad.common.crypto import WrongMacError, UnknownMacMethodError  from leap.soledad.client import Soledad -from pixelated.bitmask_libraries.keymanager import Keymanager  from leap.bitmask.mail.incoming.service import IncomingMail  from leap.bitmask.mail.mail import Account  import leap.common.certs as leap_certs @@ -20,12 +19,13 @@ from leap.common.events import (      catalog as events  ) +from pixelated.bitmask_libraries.keymanager import Keymanager  from pixelated.adapter.mailstore import LeapMailStore  from pixelated.config import leap_config  from pixelated.bitmask_libraries.certs import LeapCertificate  from pixelated.bitmask_libraries.smtp import LeapSMTPConfig -logger = logging.getLogger(__name__) +logger = Logger()  class LeapSessionFactory(object): diff --git a/service/pixelated/maintenance.py b/service/pixelated/maintenance.py index 6807d9bc..74b5a369 100644 --- a/service/pixelated/maintenance.py +++ b/service/pixelated/maintenance.py @@ -14,26 +14,27 @@  # You should have received a copy of the GNU Affero General Public License  # along with Pixelated. If not, see <http://www.gnu.org/licenses/>. +import random  from os.path import isfile  from mailbox import Maildir, mbox, MaildirMessage -import random -from leap.bitmask.mail.adaptors.soledad import MetaMsgDocWrapper  from twisted.internet import reactor, defer  from twisted.internet.threads import deferToThread +from twisted.logger import Logger + +from leap.bitmask.mail.adaptors.soledad import MetaMsgDocWrapper +from leap.bitmask.mail.constants import MessageFlags +  from pixelated.adapter.mailstore.maintenance import SoledadMaintenance  from pixelated.config.leap import initialize_leap_single_user  from pixelated.config import logger, arguments -import logging - -from leap.bitmask.mail.constants import MessageFlags  from pixelated.support.mail_generator import MailGenerator  REPAIR_COMMAND = 'repair'  INTEGRITY_CHECK_COMMAND = 'integrity-check' -log = logging.getLogger(__name__) +log = Logger()  def initialize(): diff --git a/service/pixelated/register.py b/service/pixelated/register.py index 1b01fc0c..0269c832 100644 --- a/service/pixelated/register.py +++ b/service/pixelated/register.py @@ -15,19 +15,20 @@  # along with Pixelated. If not, see <http://www.gnu.org/licenses/>.  import re  import getpass -import logging  import sys +from twisted.logger import Logger + +from leap.auth import SRPAuth +from leap.common.events import server as events_server +  from pixelated.config import arguments  from pixelated.config import logger as logger_config  from pixelated.bitmask_libraries.certs import LeapCertificate  from pixelated.bitmask_libraries.provider import LeapProvider  from pixelated.config.sessions import LeapSessionFactory -from leap.auth import SRPAuth -from leap.common.events import server as events_server - -logger = logging.getLogger(__name__) +logger = Logger()  def register( diff --git a/service/pixelated/resources/__init__.py b/service/pixelated/resources/__init__.py index 0bd34619..11611f0b 100644 --- a/service/pixelated/resources/__init__.py +++ b/service/pixelated/resources/__init__.py @@ -15,16 +15,16 @@  # along with Pixelated. If not, see <http://www.gnu.org/licenses/>.  import json -import logging  from twisted.web.http import UNAUTHORIZED  from twisted.web.resource import Resource +from twisted.logger import Logger -# from pixelated.resources.login_resource import LoginResource  from pixelated.resources.session import IPixelatedSession  from twisted.web.http import INTERNAL_SERVER_ERROR, SERVICE_UNAVAILABLE -log = logging.getLogger(__name__) + +log = Logger()  class SetEncoder(json.JSONEncoder): diff --git a/service/pixelated/resources/attachments_resource.py b/service/pixelated/resources/attachments_resource.py index 0149dfe2..1081b4b8 100644 --- a/service/pixelated/resources/attachments_resource.py +++ b/service/pixelated/resources/attachments_resource.py @@ -16,7 +16,6 @@  import cgi  import io  import re -import logging  from twisted.internet import defer  from twisted.protocols.basic import FileSender @@ -24,10 +23,12 @@ from twisted.python.log import msg  from twisted.web import server  from twisted.web.resource import Resource  from twisted.web.server import NOT_DONE_YET +from twisted.logger import Logger  from pixelated.resources import respond_json_deferred, BaseResource -logger = logging.getLogger(__name__) + +logger = Logger()  class AttachmentResource(Resource): diff --git a/service/pixelated/resources/auth.py b/service/pixelated/resources/auth.py index 6d675eb3..3afbbc36 100644 --- a/service/pixelated/resources/auth.py +++ b/service/pixelated/resources/auth.py @@ -14,27 +14,27 @@  # You should have received a copy of the GNU Affero General Public License  # along with Pixelated. If not, see <http://www.gnu.org/licenses/>. -import logging  import re +from zope.interface import implements, implementer, Attribute  from twisted.cred.checkers import ANONYMOUS  from twisted.cred.credentials import ICredentials  from twisted.cred.error import UnauthorizedLogin  from twisted.internet import defer  from twisted.web._auth.wrapper import UnauthorizedResource  from twisted.web.error import UnsupportedMethod -from zope.interface import implements, implementer, Attribute  from twisted.cred import portal, checkers, credentials  from twisted.web import util  from twisted.cred import error  from twisted.web.resource import IResource, ErrorPage +from twisted.logger import Logger  from leap.bitmask.bonafide._srp import SRPAuthError  from pixelated.config.leap import create_leap_session, authenticate  from pixelated.resources import IPixelatedSession -log = logging.getLogger(__name__) +log = Logger()  @implementer(checkers.ICredentialsChecker) diff --git a/service/pixelated/resources/login_resource.py b/service/pixelated/resources/login_resource.py index e19f9038..4c4d58c0 100644 --- a/service/pixelated/resources/login_resource.py +++ b/service/pixelated/resources/login_resource.py @@ -14,7 +14,6 @@  # You should have received a copy of the GNU Affero General Public License  # along with Pixelated. If not, see <http://www.gnu.org/licenses/>. -import logging  import os  from xml.sax import SAXParseException @@ -27,11 +26,13 @@ from twisted.web.resource import IResource, NoResource  from twisted.web.server import NOT_DONE_YET  from twisted.web.static import File  from twisted.web.template import Element, XMLFile, renderElement, renderer +from twisted.logger import Logger +  from pixelated.resources import handle_error_deferred  from pixelated.adapter.welcome_mail import add_welcome_mail  from pixelated.resources import BaseResource, UnAuthorizedResource, IPixelatedSession -log = logging.getLogger(__name__) +log = Logger()  def _get_startup_folder(): diff --git a/service/pixelated/resources/mails_resource.py b/service/pixelated/resources/mails_resource.py index 0077ce57..78826126 100644 --- a/service/pixelated/resources/mails_resource.py +++ b/service/pixelated/resources/mails_resource.py @@ -1,20 +1,21 @@  import time  import json -import logging -from pixelated.adapter.services.mail_sender import SMTPDownException -from pixelated.adapter.model.mail import InputMail + +from twisted.internet import defer +from twisted.logger import Logger  from twisted.web.server import NOT_DONE_YET -from pixelated.resources import respond_json_deferred, BaseResource  from twisted.web.resource import Resource  from twisted.web import server -from twisted.internet import defer -from twisted.python.log import err +  from leap.common import events +from pixelated.adapter.model.mail import InputMail +from pixelated.resources import respond_json_deferred, BaseResource +from pixelated.adapter.services.mail_sender import SMTPDownException  from pixelated.support.functional import to_unicode -log = logging.getLogger(__name__) +log = Logger()  class MailsUnreadResource(Resource): @@ -66,7 +67,7 @@ class MailsDeleteResource(Resource):      def render_POST(self, request):          def response_failed(failure): -            err(failure, 'something failed') +            logger.error(failure, 'something failed')              request.finish()          idents = json.loads(request.content.read())['idents'] @@ -174,7 +175,7 @@ class MailsResource(BaseResource):              if isinstance(error.value, SMTPDownException):                  respond_json_deferred({'message': str(error.value)}, request, status_code=503)              else: -                err(error, 'error occurred while sending') +                logger.error(error, 'error occurred while sending')                  respond_json_deferred({'message': 'an error occurred while sending'}, request, status_code=422)          deferred = self._handle_post(request) @@ -184,7 +185,7 @@ class MailsResource(BaseResource):      def render_PUT(self, request):          def onError(error): -                err(error, 'error saving draft') +                logger.error(error, 'error saving draft')                  respond_json_deferred("", request, status_code=422)          deferred = self._handle_put(request) diff --git a/service/pixelated/support/__init__.py b/service/pixelated/support/__init__.py index 9ac52fe0..0685f48d 100644 --- a/service/pixelated/support/__init__.py +++ b/service/pixelated/support/__init__.py @@ -14,12 +14,12 @@  # You should have received a copy of the GNU Affero General Public License  # along with Pixelated. If not, see <http://www.gnu.org/licenses/>.  import time -import logging  from functools import wraps  from twisted.internet import defer +from twisted.logger import Logger -log = logging.getLogger(__name__) +log = Logger()  def _start_stopwatch(): diff --git a/service/test/functional/features/environment.py b/service/test/functional/features/environment.py index 41f2c8c7..77efc499 100644 --- a/service/test/functional/features/environment.py +++ b/service/test/functional/features/environment.py @@ -13,24 +13,32 @@  #  # You should have received a copy of the GNU Affero General Public License  # along with Pixelated. If not, see <http://www.gnu.org/licenses/>. -import logging  import uuid +import os +from selenium import webdriver  from crochet import setup, wait_for -from leap.common.events.server import ensure_server +  from twisted.internet import defer +from twisted.logger import globalLogBeginner, textFileLogObserver, Logger -from pixelated.application import UserAgentMode -from pixelated.config.site import PixelatedSite  from test.support.integration import AppTestClient -from selenium import webdriver +from steps.common import * +from leap.common.events.server import ensure_server + +from pixelated.application import UserAgentMode +from pixelated.config.site import PixelatedSite  from pixelated.resources.features_resource import FeaturesResource -from steps.common import * -import os  setup() +observers = [textFileLogObserver(open(os.devnull, 'w'))] + +globalLogBeginner.beginLoggingTo(observers) + +Logger('twisted') +  @wait_for(timeout=5.0)  def start_app_test_client(client, mode): @@ -39,7 +47,6 @@ def start_app_test_client(client, mode):  def before_all(context):      ensure_server() -    logging.disable('INFO')      PixelatedSite.disable_csp_requests()      client = AppTestClient()      start_app_test_client(client, UserAgentMode(is_single_user=True)) diff --git a/service/test/perf/contacts/test_Contacts.py b/service/test/perf/contacts/test_Contacts.py index 967e9eb1..ade97591 100644 --- a/service/test/perf/contacts/test_Contacts.py +++ b/service/test/perf/contacts/test_Contacts.py @@ -14,7 +14,6 @@  # You should have received a copy of the GNU Affero General Public License  # along with Pixelated. If not, see <http://www.gnu.org/licenses/>.  import unittest -import logging  from funkload.FunkLoadTestCase import FunkLoadTestCase  from test.support.integration import AppTestClient @@ -33,7 +32,6 @@ def start_app_test_client(client):  class Contacts(FunkLoadTestCase):      def setUpBench(self): -        logging.disable('INFO')          client = AppTestClient()          start_app_test_client(client)          client.listenTCP() diff --git a/service/test/unit/adapter/mailstore/maintenance/test_soledad_maintenance.py b/service/test/unit/adapter/mailstore/maintenance/test_soledad_maintenance.py index 2aaa969c..f0e1e8c9 100644 --- a/service/test/unit/adapter/mailstore/maintenance/test_soledad_maintenance.py +++ b/service/test/unit/adapter/mailstore/maintenance/test_soledad_maintenance.py @@ -20,9 +20,6 @@ from twisted.trial import unittest  from mockito import mock, when, verify, never  from pixelated.adapter.mailstore.maintenance import SoledadMaintenance  from leap.bitmask.keymanager.openpgp import OpenPGPKey -import logging - -logging.getLogger('pixelated.adapter.mailstore.maintenance').addHandler(logging.NullHandler())  SOME_EMAIL_ADDRESS = 'foo@example.tld' diff --git a/service/test/unit/resources/test_attachments_resource.py b/service/test/unit/resources/test_attachments_resource.py index 0424c481..06ae765f 100644 --- a/service/test/unit/resources/test_attachments_resource.py +++ b/service/test/unit/resources/test_attachments_resource.py @@ -1,6 +1,5 @@  import json  import unittest -import logging  from mock import patch, MagicMock  from mockito import mock, when, verify, any as ANY @@ -11,9 +10,6 @@ from pixelated.application import UserAgentMode  from pixelated.resources.attachments_resource import AttachmentsResource  from test.unit.resources import DummySite -logging.basicConfig(level=logging.CRITICAL) -logging.getLogger('pixelated.resources.attachments_resource').addHandler(logging.NullHandler()) -  class AttachmentsResourceTest(unittest.TestCase): diff --git a/service/test/unit/resources/test_tags_resource.py b/service/test/unit/resources/test_tags_resource.py index 684e95f2..a05da7a7 100644 --- a/service/test/unit/resources/test_tags_resource.py +++ b/service/test/unit/resources/test_tags_resource.py @@ -1,13 +1,9 @@ -import logging -  from mock import MagicMock  from twisted.trial import unittest  from twisted.web.test.requesthelper import DummyRequest  from pixelated.resources.tags_resource import TagsResource  from test.unit.resources import DummySite -logging.getLogger('pixelated.resources').addHandler(logging.NullHandler()) -  class TestTagsResource(unittest.TestCase):      def setUp(self): diff --git a/service/twisted/plugins/logger.py b/service/twisted/plugins/logger.py deleted file mode 100644 index 6503bb13..00000000 --- a/service/twisted/plugins/logger.py +++ /dev/null @@ -1,15 +0,0 @@ -import gc -import sys - -from zope.interface import implementer -from twisted.plugin import IPlugin -from pixelated.support.loglinegenerator import ILogLineGenerator - - -@implementer(IPlugin, ILogLineGenerator) -class GCLogger(): -    def getLogLine(self): -        return '%010d' % sum(sys.getsizeof(o) for o in gc.get_objects()) - - -gcLogger = GCLogger() | 
