Skip to content

Instantly share code, notes, and snippets.

@mpkocher
Created February 6, 2014 01:03
Show Gist options
  • Save mpkocher/8836615 to your computer and use it in GitHub Desktop.
Save mpkocher/8836615 to your computer and use it in GitHub Desktop.
Example logging setup util func with Handlers and Filters
# Basic tests
def setup_log(alog, level=logging.INFO, file_name=None, log_filter=None,
str_formatter='[%(levelname)s] %(asctime)-15s [%(name)s %(funcName)s %(lineno)d] %(message)s'):
"""Core Util to setup log handler
:param alog: a log instance
:param level: (int) Level of logging debug
:param file_name: (str, None) if None, stdout is used, str write to file
:param log_filter: (LogFilter, None)
:param str_formatter: (str) log formatting str
"""
alog.setLevel(logging.DEBUG)
if file_name is None:
handler = logging.StreamHandler(sys.stdout)
else:
handler = logging.FileHandler(file_name)
formatter = logging.Formatter(str_formatter)
handler.setFormatter(formatter)
handler.setLevel(level)
if log_filter:
handler.addFilter(log_filter)
alog.addHandler(handler)
return alog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment