Simplify utils.log.

The overcomplicated parsing with re didn't really give us much benefits, and
lead to exceptions and segfaults[1] (?) already, so it's best to just get rid
of it entirely.

[1] http://paste.the-compiler.org/view/26768694
This commit is contained in:
Florian Bruhin 2014-11-19 22:43:49 +01:00
parent 336bbc370e
commit 2fe72d8087

View File

@ -19,7 +19,6 @@
"""Loggers and utilities related to logging.""" """Loggers and utilities related to logging."""
import re
import os import os
import sys import sys
import html as pyhtml import html as pyhtml
@ -255,7 +254,7 @@ def qt_message_handler(msg_type, context, msg):
"libpng warning: iCCP: Not recognizing known sRGB profile that has " "libpng warning: iCCP: Not recognizing known sRGB profile that has "
"been edited", "been edited",
# Hopefully harmless warning # Hopefully harmless warning
"OpenType support missing for script [0-9]*", "OpenType support missing for script ",
# Error if a QNetworkReply gets two different errors set. Harmless Qt # Error if a QNetworkReply gets two different errors set. Harmless Qt
# bug on some pages. # bug on some pages.
# https://bugreports.qt-project.org/browse/QTBUG-30298 # https://bugreports.qt-project.org/browse/QTBUG-30298
@ -264,27 +263,20 @@ def qt_message_handler(msg_type, context, msg):
# Not much information about this, but it seems harmless # Not much information about this, but it seems harmless
'QXcbWindow: Unhandled client message: "_GTK_LOAD_ICONTHEMES"', 'QXcbWindow: Unhandled client message: "_GTK_LOAD_ICONTHEMES"',
# Sometimes indicates missing text, but most of the time harmless # Sometimes indicates missing text, but most of the time harmless
r'load glyph failed err=\S+ face=\S+, glyph=\S+', "load glyph failed ",
# Harmless, see https://bugreports.qt-project.org/browse/QTBUG-42479 # Harmless, see https://bugreports.qt-project.org/browse/QTBUG-42479
'content-type missing in HTTP POST, defaulting to ' "content-type missing in HTTP POST, defaulting to "
'application/x-www-form-urlencoded. Use QNetworkRequest::setHeader() ' "application/x-www-form-urlencoded. Use QNetworkRequest::setHeader() "
'to fix this problem.' "to fix this problem."
) )
if any(re.match(pattern, msg.strip()) for pattern in suppressed_msgs): if any(msg.strip().startswith(pattern) for pattern in suppressed_msgs):
level = logging.DEBUG level = logging.DEBUG
else: else:
level = qt_to_logging[msg_type] level = qt_to_logging[msg_type]
if context.function is None: if context.function is None:
func = 'none' func = 'none'
else: else:
# We get something like func = context.function
# "void qt_png_warning(png_structp, png_const_charp)" from Qt, but only
# want "qt_png_warning".
match = re.match(r'.*( |::)(\w*)\(.*\)', context.function)
if match is not None:
func = match.group(2)
else:
func = context.function
name = 'qt' if context.category == 'default' else 'qt-' + context.category name = 'qt' if context.category == 'default' else 'qt-' + context.category
if msg.splitlines()[0] == ('This application failed to start because it ' if msg.splitlines()[0] == ('This application failed to start because it '
'could not find or load the Qt platform plugin ' 'could not find or load the Qt platform plugin '