Created
February 6, 2014 01:03
-
-
Save mpkocher/8836615 to your computer and use it in GitHub Desktop.
Example logging setup util func with Handlers and Filters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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