summaryrefslogtreecommitdiff
path: root/src/leap/bitmask/logs/utils.py
diff options
context:
space:
mode:
authorIvan Alejandro <ivanalejandro0@gmail.com>2015-06-19 14:00:28 -0300
committerIvan Alejandro <ivanalejandro0@gmail.com>2015-06-22 15:52:37 -0300
commit239a0ec845d53b7a0a1af5c27b5eea956ab6459a (patch)
tree1739ad63cb2ca8a3188f307c32b09102ab8f9dd8 /src/leap/bitmask/logs/utils.py
parentd75e1395c9ff3ffcb0663122140be393c7ae6b60 (diff)
[feat] handle twisted/logging logs with logbook
Forward Twisted logs to logging and use logbook to handle logging logs. Store the bitmask logs on the config folder.
Diffstat (limited to 'src/leap/bitmask/logs/utils.py')
-rw-r--r--src/leap/bitmask/logs/utils.py45
1 files changed, 38 insertions, 7 deletions
diff --git a/src/leap/bitmask/logs/utils.py b/src/leap/bitmask/logs/utils.py
index e0a5fba3..413f6a75 100644
--- a/src/leap/bitmask/logs/utils.py
+++ b/src/leap/bitmask/logs/utils.py
@@ -1,18 +1,47 @@
-import logging
+# -*- coding: utf-8 -*-
+# utils.py
+# Copyright (C) 2013, 2014, 2015 LEAP
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+"""
+Logs utilities
+"""
+
+import os
import sys
from leap.bitmask.config import flags
from leap.bitmask.logs import LOG_FORMAT
from leap.bitmask.logs.log_silencer import SelectiveSilencerFilter
from leap.bitmask.logs.safezmqhandler import SafeZMQHandler
-from leap.bitmask.logs.streamtologger import StreamToLogger
+# from leap.bitmask.logs.streamtologger import StreamToLogger
from leap.bitmask.platform_init import IS_WIN
+from leap.bitmask.util import get_path_prefix
import logbook
from logbook.more import ColorizedStderrHandler
+BITMASK_LOG_FILE = os.path.join(get_path_prefix(), "leap", 'bitmask.log')
+
+
def get_logger():
+ """
+ Push to the app stack the needed handlers and return a Logger object.
+
+ :rtype: logbook.Logger
+ """
level = logbook.WARNING
if flags.DEBUG:
level = logbook.NOTSET
@@ -27,8 +56,9 @@ def get_logger():
level=level, filter=silencer.filter)
zmq_handler.push_application()
- file_handler = logbook.FileHandler('bitmask.log', format_string=LOG_FORMAT,
- bubble=True, filter=silencer.filter)
+ file_handler = logbook.FileHandler(BITMASK_LOG_FILE,
+ format_string=LOG_FORMAT, bubble=True,
+ filter=silencer.filter)
file_handler.push_application()
# don't use simple stream, go for colored log handler instead
@@ -46,7 +76,7 @@ def get_logger():
return logger
-def replace_stdout_stderr_with_logging(logger):
+def replace_stdout_stderr_with_logging(logger=None):
"""
NOTE:
we are not using this right now (see commented lines on app.py),
@@ -61,8 +91,9 @@ def replace_stdout_stderr_with_logging(logger):
# Disabling this on windows since it breaks ALL THE THINGS
# The issue for this is #4149
if not IS_WIN:
- sys.stdout = StreamToLogger(logger, logging.DEBUG)
- sys.stderr = StreamToLogger(logger, logging.ERROR)
+ # logger = get_logger()
+ # sys.stdout = StreamToLogger(logger, logbook.NOTSET)
+ # sys.stderr = StreamToLogger(logger, logging.ERROR)
# Replace twisted's logger to use our custom output.
from twisted.python import log