我只想让file_logger
将所有邮件记录到专用文件
但是当我运行脚本时,它会在屏幕上显示所有日志和文件。
我怎么能得到它。
def setup_logging(logging_file_path="logs/stdout.log"):
global file_logger
from os.path import dirname, realpath, isdir
log_dir = dirname(realpath(logging_file_path))
if not isdir(log_dir):
os.makedirs(log_dir) # it can built folder tree in one call
file_logger = logging.getLogger()
file_logger.addHandler(logging.FileHandler("{0}".format(logging_file_path)))
file_logger.setLevel(logging.DEBUG)
file_logger.propagate = False
# file_logger.disabled = True # disable to log on the stdout
return file_logger
答案 0 :(得分:0)
您显示的代码无法登录到控制台(只要file_logger
仅用于记录)。要获得控制台输出,必须调用basicConfig()
或调用函数logging.debug()
(即不是记录器方法,而是logging
模块中的便捷函数 - 调用{在幕后{1}},或者明确添加了basicConfig()
(在代码中没有显示)。