def log_to_file(filename, level=INFO, formatter=_LOG_FORMATTER,
filemode=APPEND, handler=logging.FileHandler):
"""Setup logging or set logging level to file.
Args:
filename: string of path/file to write logs
level: a logging level, like logging.INFO
formatter: a logging.Formatter object
filemode: a mode of writing, like app.APPEND or app.CLOBBER
handler: logging.FileHandler (this argument is for testing)
"""
global _FILE_HANDLER
_level = get_loglevel(level)
if type(_FILE_HANDLER) is handler:
_FILE_HANDLER.setLevel(_level)
else:
_FILE_HANDLER = handler(filename=filename, mode=filemode)
_FILE_HANDLER.setLevel(_level)
_FILE_HANDLER.setFormatter(formatter)
logging.getLogger('').addHandler(_FILE_HANDLER)
logging.info('Logging to file %s [mode=\'%s\', level=%s]',
os.path.abspath(filename), filemode,
logging.getLevelName(_level))
评论列表
文章目录