bugdown: Add bugdown_logger for logging.

This commit is contained in:
Shubham Dhama 2018-07-03 10:55:29 +05:30 committed by Tim Abbott
parent 8c2f0f68b2
commit a7e913894c
2 changed files with 8 additions and 6 deletions

View File

@ -81,6 +81,8 @@ STREAM_LINK_REGEX = r"""
\*\* # ends by double asterisks
"""
bugdown_logger = logging.getLogger()
def rewrite_local_links_to_relative(link: str) -> str:
""" If the link points to a local destination we can just switch to that
instead of opening a new tab. """
@ -308,8 +310,8 @@ def fetch_tweet_data(tweet_id: str) -> Optional[Dict[str, Any]]:
tweet = timeout(3, api.GetStatus, tweet_id)
res = tweet.AsDict()
except AttributeError:
logging.error('Unable to load twitter api, you may have the wrong '
'library installed, see https://github.com/zulip/zulip/issues/86')
bugdown_logger.error('Unable to load twitter api, you may have the wrong '
'library installed, see https://github.com/zulip/zulip/issues/86')
return None
except TimeoutExpired:
# We'd like to try again later and not cache the bad result,
@ -334,7 +336,7 @@ def fetch_tweet_data(tweet_id: str) -> Optional[Dict[str, Any]]:
# but for now it seems reasonable to log at error
# level (so that we get notified), but then cache the
# failure to proceed with our usual work
logging.error(traceback.format_exc())
bugdown_logger.error(traceback.format_exc())
return None
return res
@ -741,7 +743,7 @@ class InlineInterestingLinkProcessor(markdown.treeprocessors.Treeprocessor):
# We put this in its own try-except because it requires external
# connectivity. If Twitter flakes out, we don't want to not-render
# the entire message; we just want to not show the Twitter preview.
logging.warning(traceback.format_exc())
bugdown_logger.warning(traceback.format_exc())
return None
def get_url_data(self, e: Element) -> Optional[Tuple[str, str]]:
@ -1747,7 +1749,7 @@ def log_bugdown_error(msg: str) -> None:
order to prevent AdminNotifyHandler from sending the santized
original markdown formatting into another Zulip message, which
could cause an infinite exception loop."""
logging.getLogger('').error(msg)
bugdown_logger.error(msg)
def get_email_info(realm_id: int, emails: Set[str]) -> Dict[str, FullNameInfo]:
if not emails:

View File

@ -642,7 +642,7 @@ class ZulipTestCase(TestCase):
with \
self.settings(ERROR_BOT=None), \
mock.patch('zerver.lib.bugdown.timeout', side_effect=KeyError('foo')), \
mock.patch('zerver.lib.bugdown.log_bugdown_error'):
mock.patch('zerver.lib.bugdown.bugdown_logger'):
yield
def create_default_device(self, user_profile: UserProfile,