summaryrefslogtreecommitdiff
path: root/service/pixelated/config
diff options
context:
space:
mode:
Diffstat (limited to 'service/pixelated/config')
-rw-r--r--service/pixelated/config/__init__.py5
-rw-r--r--service/pixelated/config/app_factory.py4
-rw-r--r--service/pixelated/config/debug.py40
-rw-r--r--service/pixelated/config/logging_setup.py65
4 files changed, 69 insertions, 45 deletions
diff --git a/service/pixelated/config/__init__.py b/service/pixelated/config/__init__.py
index f9c43153..2045354e 100644
--- a/service/pixelated/config/__init__.py
+++ b/service/pixelated/config/__init__.py
@@ -25,7 +25,7 @@ from pixelated.config.dispatcher import config_dispatcher
from pixelated.config.events_server import init_events_server
from pixelated.config.loading_page import loading
from pixelated.config.register import register
-from pixelated.config.debug import init_debugger
+from pixelated.config.logging_setup import init_logging
from pixelated.config.leap_cert import init_leap_cert
from pixelated.config.soledad import init_soledad_and_user_key
from twisted.internet import reactor
@@ -36,13 +36,14 @@ import pixelated.support.ext_protobuf
import pixelated.support.ext_sqlcipher
import pixelated.support.ext_esmtp_sender_factory
import pixelated.support.ext_fetch
+import pixelated.support.ext_keymanager_fetch_key
def initialize():
args = parse_args()
app = App()
- init_debugger(args)
+ init_logging(args)
init_leap_cert(args)
if args.register:
diff --git a/service/pixelated/config/app_factory.py b/service/pixelated/config/app_factory.py
index f63b49ed..f20b1229 100644
--- a/service/pixelated/config/app_factory.py
+++ b/service/pixelated/config/app_factory.py
@@ -33,7 +33,6 @@ from pixelated.adapter.listeners.mailbox_indexer_listener import MailboxIndexerL
import pixelated.bitmask_libraries.session as LeapSession
from pixelated.bitmask_libraries.leap_srp import LeapAuthException
from requests.exceptions import ConnectionError
-from pixelated.adapter.services.tag_service import TagService
from leap.common.events import (
register,
unregister,
@@ -100,14 +99,13 @@ def init_app(app, leap_home, leap_session):
soledad_querier = SoledadQuerier(soledad=leap_session.account._soledad)
- tag_service = TagService()
search_engine = SearchEngine(soledad_querier, agent_home=leap_home)
pixelated_mail_sender = MailSender(leap_session.account_email(),
lambda: leap_session.smtp.ensure_running())
pixelated_mailboxes = Mailboxes(leap_session.account, soledad_querier, search_engine)
draft_service = DraftService(pixelated_mailboxes)
- mail_service = MailService(pixelated_mailboxes, pixelated_mail_sender, tag_service, soledad_querier, search_engine)
+ mail_service = MailService(pixelated_mailboxes, pixelated_mail_sender, soledad_querier, search_engine)
MailboxIndexerListener.SEARCH_ENGINE = search_engine
InputMail.FROM_EMAIL_ADDRESS = leap_session.account_email()
diff --git a/service/pixelated/config/debug.py b/service/pixelated/config/debug.py
deleted file mode 100644
index d91d3a34..00000000
--- a/service/pixelated/config/debug.py
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-# Copyright (c) 2014 ThoughtWorks, Inc.
-#
-# Pixelated is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Pixelated is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# 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 sys
-import os
-from twisted.python import log
-
-
-def init_debugger(args):
- debug_enabled = args.debug or os.environ.get('DEBUG', False)
- log.startLogging(sys.stdout)
-
- if debug_enabled:
- logging.basicConfig(level=logging.DEBUG,
- format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
- datefmt='%m-%d %H:%M',
- filename='/tmp/leap.log',
- filemode='w') # define a Handler which writes INFO messages or higher to the sys.stderr
-
- console = logging.StreamHandler()
- console.setLevel(logging.DEBUG)
- formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
- console.setFormatter(formatter)
- logging.getLogger('').addHandler(console)
-
- return debug_enabled
diff --git a/service/pixelated/config/logging_setup.py b/service/pixelated/config/logging_setup.py
new file mode 100644
index 00000000..a15413a0
--- /dev/null
+++ b/service/pixelated/config/logging_setup.py
@@ -0,0 +1,65 @@
+#
+# Copyright (c) 2014 ThoughtWorks, Inc.
+#
+# Pixelated is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Pixelated is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# 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 socket
+import sys
+import os
+from twisted.python import log
+from twisted.python import util
+
+
+def init_logging(args):
+ debug_enabled = args.debug or os.environ.get('DEBUG', False)
+
+ logging.basicConfig(level=logging.DEBUG if debug_enabled else logging.WARNING,
+ format='[%(asctime)s] ' + socket.gethostname() + ' %(name)-12s %(levelname)-8s %(message)s',
+ datefmt='%m-%d %H:%M:%S',
+ filemode='a')
+
+ if debug_enabled:
+ init_debugger()
+
+ log.startLogging(sys.stdout)
+
+
+def init_debugger():
+ formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
+ console = logging.StreamHandler()
+ console.setLevel(logging.DEBUG)
+ console.setFormatter(formatter)
+ logging.getLogger('').addHandler(console)
+
+
+class PixelatedLogObserver(log.FileLogObserver):
+
+ """ FileLogObserver with a customized format """
+ def emit(self, event):
+ text = log.textFromEventDict(event)
+
+ if text is None:
+ return
+
+ self.timeFormat = '[%Y-%m-%d %H:%M:%S]'
+ time_str = self.formatTime(event['time'])
+
+ fmt_dict = {'text': text.replace('\n', '\n\t')}
+ msg_str = log._safeFormat('%(text)s\n', fmt_dict)
+
+ logging.debug(str(event))
+
+ util.untilConcludes(self.write, time_str + ' ' + socket.gethostname() + ' ' + msg_str)
+ util.untilConcludes(self.flush)