Ejemplo n.º 1
0
    def test_format_raises(self, safe_str):
        x = ColorFormatter('HELLO')

        def on_safe_str(s):
            try:
                raise ValueError('foo')
            finally:
                safe_str.side_effect = None
        safe_str.side_effect = on_safe_str

        class Record(object):
            levelname = 'ERROR'
            msg = 'HELLO'
            exc_text = 'error text'
            stack_info = None

            def __str__(self):
                return on_safe_str('')

            def getMessage(self):
                return self.msg

        record = Record()
        safe_str.return_value = record

        x.format(record)
        self.assertIn('<Unrepresentable', record.msg)
        self.assertEqual(safe_str.call_count, 2)
Ejemplo n.º 2
0
    def test_format_raises(self, safe_str):
        x = ColorFormatter("HELLO")

        def on_safe_str(s):
            try:
                raise ValueError("foo")
            finally:
                safe_str.side_effect = None
        safe_str.side_effect = on_safe_str

        class Record(object):
            levelname = "ERROR"
            msg = "HELLO"
            exc_text = "error text"
            stack_info = None

            def __str__(self):
                return on_safe_str("")

            def getMessage(self):
                return self.msg

        record = Record()
        safe_str.return_value = record

        x.format(record)
        self.assertIn("<Unrepresentable", record.msg)
        self.assertEqual(safe_str.call_count, 2)
Ejemplo n.º 3
0
 def test_format_raises_no_color(self, safe_str):
     x = ColorFormatter("HELLO", False)
     record = Mock()
     record.levelname = "ERROR"
     record.msg = "HELLO"
     record.exc_text = "error text"
     x.format(record)
     self.assertEqual(safe_str.call_count, 1)
Ejemplo n.º 4
0
 def test_format_raises_no_color(self, safe_str):
     x = ColorFormatter(use_color=False)
     record = Mock()
     record.levelname = 'ERROR'
     record.msg = 'HELLO'
     record.exc_text = 'error text'
     x.format(record)
     self.assertEqual(safe_str.call_count, 1)
Ejemplo n.º 5
0
 def test_format_raises_no_color(self, safe_str):
     if sys.version_info[0] == 3:
         raise SkipTest("py3k")
     x = ColorFormatter("HELLO", False)
     record = Mock()
     record.levelname = "ERROR"
     record.msg = "HELLO"
     record.exc_text = "error text"
     x.format(record)
     self.assertEqual(safe_str.call_count, 1)
Ejemplo n.º 6
0
 def test_format_raises_no_color(self, safe_str):
     if sys.version_info[0] == 3:
         raise SkipTest('py3k')
     x = ColorFormatter('HELLO', False)
     record = Mock()
     record.levelname = 'ERROR'
     record.msg = 'HELLO'
     record.exc_text = 'error text'
     x.format(record)
     self.assertEqual(safe_str.call_count, 1)
Ejemplo n.º 7
0
    def test_format_raises(self, safe_str):
        x = ColorFormatter()

        def on_safe_str(s):
            try:
                raise ValueError('foo')
            finally:
                safe_str.side_effect = None

        safe_str.side_effect = on_safe_str

        class Record:
            levelname = 'ERROR'
            msg = 'HELLO'
            exc_info = 1
            exc_text = 'error text'
            stack_info = None

            def __str__(self):
                return on_safe_str('')

            def getMessage(self):
                return self.msg

        record = Record()
        safe_str.return_value = record

        msg = x.format(record)
        assert '<Unrepresentable' in msg
        assert safe_str.call_count == 1
Ejemplo n.º 8
0
 def test_format_object(self, _format):
     x = ColorFormatter()
     x.use_color = True
     record = Mock()
     record.levelname = 'ERROR'
     record.msg = object()
     self.assertTrue(x.format(record))
Ejemplo n.º 9
0
    def test_format_raises(self, safe_str):
        x = ColorFormatter()

        def on_safe_str(s):
            try:
                raise ValueError('foo')
            finally:
                safe_str.side_effect = None

        safe_str.side_effect = on_safe_str

        @python_2_unicode_compatible
        class Record(object):
            levelname = 'ERROR'
            msg = 'HELLO'
            exc_info = 1
            exc_text = 'error text'
            stack_info = None

            def __str__(self):
                return on_safe_str('')

            def getMessage(self):
                return self.msg

        record = Record()
        safe_str.return_value = record

        msg = x.format(record)
        self.assertIn('<Unrepresentable', msg)
        self.assertEqual(safe_str.call_count, 1)
Ejemplo n.º 10
0
    def test_format_raises(self, safe_str):
        x = ColorFormatter()

        def on_safe_str(s):
            try:
                raise ValueError('foo')
            finally:
                safe_str.side_effect = None
        safe_str.side_effect = on_safe_str

        @python_2_unicode_compatible
        class Record(object):
            levelname = 'ERROR'
            msg = 'HELLO'
            exc_info = 1
            exc_text = 'error text'
            stack_info = None

            def __str__(self):
                return on_safe_str('')

            def getMessage(self):
                return self.msg

        record = Record()
        safe_str.return_value = record

        msg = x.format(record)
        assert '<Unrepresentable' in msg
        assert safe_str.call_count == 1
Ejemplo n.º 11
0
 def test_format_object(self, _format):
     x = ColorFormatter()
     x.use_color = True
     record = Mock()
     record.levelname = 'ERROR'
     record.msg = object()
     self.assertTrue(x.format(record))
Ejemplo n.º 12
0
 def format(self, record):
     task = get_current_task()
     if task and task.request:
         record.__dict__.update(task_id=task.request.id, task_name=task.name)
     else:
         record.__dict__.setdefault("task_name", "???")
         record.__dict__.setdefault("task_id", "???")
     return ColorFormatter.format(self, record)
Ejemplo n.º 13
0
 def format(self, record):
     task = get_current_task()
     if task and task.request:
         name = task.name.split('.')[-1]
         record.__dict__.update(task_id=task.request.id, task_name=name)
     else:
         record.__dict__.update(task_id='xxx', task_name='xxx')
     return ColorFormatter.format(self, record)
Ejemplo n.º 14
0
 def format(self, record):
     task = get_current_task()
     if task:
         record.__dict__.update(task_id=task.request.id,
                                task_name=task.name)
     else:
         record.__dict__.setdefault("task_name", "???")
         record.__dict__.setdefault("task_id", "???")
     return ColorFormatter.format(self, record)
Ejemplo n.º 15
0
 def format(self, record):
     task = get_current_task()
     if task and task.request:
         record.__dict__.update(task_id=task.request.id,
                                task_name=task.name)
     else:
         record.__dict__.setdefault('task_name', '???')
         record.__dict__.setdefault('task_id', '???')
     return ColorFormatter.format(self, record)
Ejemplo n.º 16
0
 def format(self, record):
     task = get_current_task()
     if task:
         record.__dict__.update(task_id=task.request.id,
                                task_name=task.name)
     else:
         record.__dict__.setdefault('task_name', '???')
         record.__dict__.setdefault('task_id', '???')
     return ColorFormatter.format(self, record)
Ejemplo n.º 17
0
    def test_format_raises(self, safe_str):
        x = ColorFormatter("HELLO")

        def on_safe_str(s):
            try:
                raise ValueError("foo")
            finally:
                safe_str.side_effect = None
        safe_str.side_effect = on_safe_str

        record = Mock()
        record.levelname = "ERROR"
        record.msg = "HELLO"
        record.exc_text = "error text"
        safe_str.return_value = record

        x.format(record)
        self.assertIn("<Unrepresentable", record.msg)
        self.assertEqual(safe_str.call_count, 2)
Ejemplo n.º 18
0
    def test_format_raises(self, safe_str):
        x = ColorFormatter("HELLO")

        def on_safe_str(s):
            try:
                raise ValueError("foo")
            finally:
                safe_str.side_effect = None

        safe_str.side_effect = on_safe_str

        record = Mock()
        record.levelname = "ERROR"
        record.msg = "HELLO"
        record.exc_text = "error text"
        safe_str.return_value = record

        x.format(record)
        self.assertIn("<Unrepresentable", record.msg)
        self.assertEqual(safe_str.call_count, 2)
Ejemplo n.º 19
0
 def format(self, record):
     self.use_color = False
     task = get_current_task()
     if task and task.request:
         record.__dict__.update(root_id=task.request.root_id,
                                task_id=task.request.id,
                                task_name=task.name)
     else:
         record.__dict__.setdefault('task_name', None)
         record.__dict__.setdefault('task_id', None)
         record.__dict__.setdefault('root_id', None)
     return ColorFormatter.format(self, record)
Ejemplo n.º 20
0
    def format(self, record):
        task = get_current_task()
        if task and task.request:
            # For gevent pool, task_id will be something like `7ab44cb4-aacf-444e-bc20-4cbaa2a7b082`. For logs
            # is better to get it short
            task_id = task.request.id[:8]
            # Task name usually has all the package, better cut the first part for logging
            task_name = task.name.split('.')[-1]

            record.__dict__.update(task_id=task_id, task_name=task_name)
        else:
            record.__dict__.setdefault('task_name', '???')
            record.__dict__.setdefault('task_id', '???')
        return ColorFormatter.format(self, record)
Ejemplo n.º 21
0
    def format(self, record):
        """Append task-related values to the record upon format."""
        task = get_current_task()

        if task and task.request:
            record.__dict__.update(
                task_id=task.request.id,
                task_name=task.name,
                task_root_id=task.request.root_id,
                task_parent_id=task.request.parent_id,
            )
        else:
            record.__dict__.setdefault("task_name", "None")
            record.__dict__.setdefault("task_id", "None")
            record.__dict__.setdefault("task_root_id", "None")
            record.__dict__.setdefault("task_parent_id", "None")

        return ColorFormatter.format(self, record)