Module arvados.logging
Logging utilities for Arvados clients
Expand source code
# Copyright (C) The Arvados Authors. All rights reserved.
#
# SPDX-License-Identifier: Apache-2.0
"""Logging utilities for Arvados clients"""
import logging
log_format = '%(asctime)s %(name)s[%(process)d] %(levelname)s: %(message)s'
log_date_format = '%Y-%m-%d %H:%M:%S'
log_handler = logging.StreamHandler()
log_handler.setFormatter(logging.Formatter(log_format, log_date_format))
class GoogleHTTPClientFilter:
"""Common googleapiclient.http log filters for Arvados clients
This filter makes `googleapiclient.http` log messages more useful for
typical Arvados applications. Currently it only changes the level of
retry messages (to INFO by default), but its functionality may be
extended in the future. Typical usage looks like:
logging.getLogger('googleapiclient.http').addFilter(GoogleHTTPClientFilter())
"""
def __init__(self, *, retry_level='INFO'):
self.retry_levelname = retry_level
self.retry_levelno = getattr(logging, retry_level)
def filter(self, record):
if record.msg.startswith(('Sleeping ', 'Retry ')):
record.levelname = self.retry_levelname
record.levelno = self.retry_levelno
return True
Classes
class GoogleHTTPClientFilter (*, retry_level='INFO')
-
Common googleapiclient.http log filters for Arvados clients
This filter makes
googleapiclient.http
log messages more useful for typical Arvados applications. Currently it only changes the level of retry messages (to INFO by default), but its functionality may be extended in the future. Typical usage looks like:logging.getLogger('googleapiclient.http').addFilter(GoogleHTTPClientFilter())
Expand source code
class GoogleHTTPClientFilter: """Common googleapiclient.http log filters for Arvados clients This filter makes `googleapiclient.http` log messages more useful for typical Arvados applications. Currently it only changes the level of retry messages (to INFO by default), but its functionality may be extended in the future. Typical usage looks like: logging.getLogger('googleapiclient.http').addFilter(GoogleHTTPClientFilter()) """ def __init__(self, *, retry_level='INFO'): self.retry_levelname = retry_level self.retry_levelno = getattr(logging, retry_level) def filter(self, record): if record.msg.startswith(('Sleeping ', 'Retry ')): record.levelname = self.retry_levelname record.levelno = self.retry_levelno return True
Methods
def filter(self, record)
-
Expand source code
def filter(self, record): if record.msg.startswith(('Sleeping ', 'Retry ')): record.levelname = self.retry_levelname record.levelno = self.retry_levelno return True