我正在利用利用日志的try-except语句,但是即使正在生成日志文件,也不会创建日志。
最初,我的代码可以工作,但是生产时的格式设置不正确:请尝试尝试运行脚本的语句除外,并在失败时将日志语句推送到日志中。
有人告诉我“导入->功能->运行功能” +“功能应具有try-except记录功能,而不是其他方式”。
我为这个问题修改了我的代码以隔离问题:在此代码中,我们有一个打开json的脚本。打开JSON的脚本起作用。日志记录是唯一的问题。
我要去哪里错了?
重新排列代码时,脚本将继续运行,但日志记录部分除外。
import logging
LOG_FORMAT = "%(levelname)s %(asctime)s - %(message)s"
logging.basicConfig(filename='C:\\Users\\MWSF\\Documents\\log_test.log',
level=logging.INFO,
format=LOG_FORMAT)
logger = logging.getLogger()
def get_filepath():
'''Find the file path, which is partly defined by the file name.'''
try:
return "C:\\Users\\MWSF\\Documents\\filename.json"
except Exception:
logger.error("Error occured while determining current JSON file path.")
else:
logger.info("Successfully determined current JSON file path.")
path = get_filepath()
预期的结果:一个打开指定文件和名为的日志的函数,log_test.log
其具有以下信息:
INFO 2019-04-26 14:52:02,260 - Imported current JSON file.
实际结果:一个函数打开一个指定的文件,并创建一个log_test.log
包含以下信息的日志:
将返回值放在“ else”子句上,而不是在“ try”下。它导致函数退出而不是执行日志记录。
def get_filepath():
'''Find the file path, which is partly defined by the file name.'''
try:
#return "C:\\Users\\MWSF\\Documents\\filename.json"
path = "C:\\Users\\MWSF\\Documents\\filename.json"
except Exception:
logger.error("Error occured while determining current JSON file path.")
else:
logger.info("Successfully determined current JSON file path.")
return path
样本log_test.log:
INFO 2019-04-29 12:58:53,329-成功确定当前JSON文件路径。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句