benchmarking/utils/custom_logger.py (32 lines of code) (raw):
#!/usr/bin/env python
##############################################################################
# Copyright 2017-present, Facebook, Inc.
# All rights reserved.
#
# This source code is licensed under the license found in the
# LICENSE file in the root directory of this source tree.
##############################################################################
from __future__ import absolute_import, division, print_function, unicode_literals
import logging
import os
import sys
LOGFILE = os.getenv("AIBENCH_LOGFILE")
FORMAT = "%(levelname)s %(asctime)s %(filename)s:%(lineno)4d: %(message)s"
if LOGFILE is not None:
logging.basicConfig(
level=logging.DEBUG,
format=FORMAT,
datefmt="%Y-%m-%d %H:%M:%S",
filename=LOGFILE,
)
else:
logging.basicConfig(
level=logging.DEBUG,
format=FORMAT,
datefmt="%Y-%m-%d %H:%M:%S",
stream=sys.stdout,
)
logging.getLogger("requests").setLevel(logging.WARNING)
logging.getLogger("urllib3").setLevel(logging.WARNING)
logger = logging.getLogger("GlobalLogger")
def getLogger():
return logger
def setLoggerLevel(level):
if level == "info":
logger.setLevel(logging.INFO)
elif level == "warning":
logger.setLevel(logging.WARNING)
elif level == "error":
logger.setLevel(logging.ERROR)