Exemplo n.º 1
0
 def test_asbool(self):
     true_values = ['true', 'yes', 'on', 'y', 't', '1']
     for v in true_values:
         self.check_true(v)
         self.check_true(v.upper())
         self.check_true(' %s ' % v.title())
     self.assertTrue(asbool(True))
     self.assertTrue(asbool(1))
     false_values = ['false', 'no', 'off', 'n', 'f', '0']
     for v in false_values:
         self.check_false(v)
         self.check_false(v.upper())
         self.check_false(' %s ' % v.title())
     self.assertFalse(asbool(False))
     self.assertFalse(asbool(0))
     self.assertRaises(ValueError, asbool, 'maybe')
Exemplo n.º 2
0
    def __init__(self, app, config=None, loglevel='DEBUG', **kwargs):
        """Stores logging statements per request, and includes a bar on
        the page that shows the logging statements

        ''loglevel''
            Default log level for messages that should be caught.

            Note: the root logger's log level also matters!  If you do
            logging.getLogger('').setLevel(logging.INFO), no DEBUG messages
            will make it to Logview's handler anyway.

        Config can contain optional additional loggers and the colors
        they should be highlighted (in an ini file)::

            logview.sqlalchemy = #ff0000

        Or if passing a dict::

            app = Logview(app, {'logview.sqlalchemy':'#ff0000'})

        """
        if config is None:
            config = {}
        self.app = app
        tmpl_dir = os.path.join(here_dir, 'templates')
        self.mako = TemplateLookup(directories=[tmpl_dir],
                                   default_filters=['h'])

        self.log_colors = {}
        for key, val in itertools.chain(iter(config.items()),
                                        iter(kwargs.items())):
            if key.startswith('logview.'):
                self.log_colors[key[len('logview.'):]] = val

        self.traceback_colors = {}
        for key, val in itertools.chain(iter(config.items()),
                                        iter(kwargs.items())):
            if key.startswith('traceback.'):
                self.traceback_colors[key[len('traceback.'):]] = val

        self.logger = logging.getLogger(__name__)
        self.loglevel = getattr(logging, loglevel)

        self.keep_tracebacks = asbool(kwargs.get(
            'keep_tracebacks', config.get(
                'keep_tracebacks', RequestHandler.keep_tracebacks)))
        self.keep_tracebacks_limit = int(kwargs.get(
            'keep_tracebacks_limit', config.get(
                'keep_tracebacks_limit', RequestHandler.keep_tracebacks_limit)))
        self.skip_first_n_frames = int(kwargs.get(
            'skip_first_n_frames', config.get(
                'skip_first_n_frames', RequestHandler.skip_first_n_frames)))
        self.skip_last_n_frames = int(kwargs.get(
            'skip_last_n_frames', config.get(
                'skip_last_n_frames', RequestHandler.skip_last_n_frames)))
        self.stack_formatter = kwargs.get(
            'stack_formatter', config.get(
                'stack_formatter', RequestHandler.stack_formatter))
        self.tb_formatter = kwargs.get(
            'tb_formatter', config.get(
                'tb_formatter', RequestHandler.tb_formatter))

        reqhandler = RequestHandler()
        reqhandler.setLevel(self.loglevel)
        reqhandler.keep_tracebacks = self.keep_tracebacks
        reqhandler.keep_tracebacks_limit = self.keep_tracebacks_limit
        reqhandler.skip_first_n_frames = self.skip_first_n_frames
        reqhandler.skip_last_n_frames = self.skip_last_n_frames
        if self.stack_formatter:
            reqhandler.stack_formatter = self._resolve(self.stack_formatter)
        if self.tb_formatter:
            reqhandler.tb_formatter = self._resolve(self.tb_formatter)
        logging.getLogger('').addHandler(reqhandler)
        self.reqhandler = reqhandler
Exemplo n.º 3
0
 def check_true(self, value):
     self.assertTrue(asbool(value), repr(value))
Exemplo n.º 4
0
 def check_false(self, value):
     self.assertFalse(asbool(value), repr(value))
Exemplo n.º 5
0
    def __init__(self, app, config=None, loglevel='DEBUG', **kwargs):
        """Stores logging statements per request, and includes a bar on
        the page that shows the logging statements

        ''loglevel''
            Default log level for messages that should be caught.

            Note: the root logger's log level also matters!  If you do
            logging.getLogger('').setLevel(logging.INFO), no DEBUG messages
            will make it to Logview's handler anyway.

        Config can contain optional additional loggers and the colors
        they should be highlighted (in an ini file)::

            logview.sqlalchemy = #ff0000

        Or if passing a dict::

            app = Logview(app, {'logview.sqlalchemy':'#ff0000'})

        """
        if config is None:
            config = {}
        self.app = app
        tmpl_dir = os.path.join(here_dir, 'templates')
        self.mako = TemplateLookup(directories=[tmpl_dir],
                                   default_filters=['h'])

        self.log_colors = {}
        for key, val in itertools.chain(iter(config.items()),
                                        iter(kwargs.items())):
            if key.startswith('logview.'):
                self.log_colors[key[len('logview.'):]] = val

        self.traceback_colors = {}
        for key, val in itertools.chain(iter(config.items()),
                                        iter(kwargs.items())):
            if key.startswith('traceback.'):
                self.traceback_colors[key[len('traceback.'):]] = val

        self.logger = logging.getLogger(__name__)
        self.loglevel = getattr(logging, loglevel)

        self.keep_tracebacks = asbool(
            kwargs.get(
                'keep_tracebacks',
                config.get('keep_tracebacks', RequestHandler.keep_tracebacks)))
        self.keep_tracebacks_limit = int(
            kwargs.get(
                'keep_tracebacks_limit',
                config.get('keep_tracebacks_limit',
                           RequestHandler.keep_tracebacks_limit)))
        self.skip_first_n_frames = int(
            kwargs.get(
                'skip_first_n_frames',
                config.get('skip_first_n_frames',
                           RequestHandler.skip_first_n_frames)))
        self.skip_last_n_frames = int(
            kwargs.get(
                'skip_last_n_frames',
                config.get('skip_last_n_frames',
                           RequestHandler.skip_last_n_frames)))
        self.stack_formatter = kwargs.get(
            'stack_formatter',
            config.get('stack_formatter', RequestHandler.stack_formatter))
        self.tb_formatter = kwargs.get(
            'tb_formatter',
            config.get('tb_formatter', RequestHandler.tb_formatter))

        reqhandler = RequestHandler()
        reqhandler.setLevel(self.loglevel)
        reqhandler.keep_tracebacks = self.keep_tracebacks
        reqhandler.keep_tracebacks_limit = self.keep_tracebacks_limit
        reqhandler.skip_first_n_frames = self.skip_first_n_frames
        reqhandler.skip_last_n_frames = self.skip_last_n_frames
        if self.stack_formatter:
            reqhandler.stack_formatter = self._resolve(self.stack_formatter)
        if self.tb_formatter:
            reqhandler.tb_formatter = self._resolve(self.tb_formatter)
        logging.getLogger('').addHandler(reqhandler)
        self.reqhandler = reqhandler