我正在使用logging
模块,并传入与其他当前工作的作业相同的参数:
import logging
from inst_config import config3
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s [%(levelname)s] - %(message)s',
filename=config3.GET_LOGFILE(config3.REQUESTS_USAGE_LOGFILE))
logging.warning('This should go in the file.')
if __name__ == '__main__':
logging.info('Starting unload.')
使用此方法创建文件名:
REQUESTS_USAGE_LOGFILE = r'C:\RunLogs\Requests_Usage\requests_usage_runlog_{}.txt'.format(
CUR_MONTH)
def GET_LOGFILE(logfile):
"""Truncates file and returns."""
with open(logfile, 'w'):
pass
return logfile
然而当我运行它时,它会创建文件,但仍将日志信息输出到控制台。我是在Powershell
中运行的。
刚试过像这样将其放入主语句:
if __name__ == '__main__':
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s [%(levelname)s] - %(message)s',
filename=config3.GET_LOGFILE(config3.REQUESTS_USAGE_LOGFILE))
logging.warning('This should go in the file.')
仍然没有运气。
if __name__ == '__main__':
运行之前,您是否已经创建了日志文件?我的意思是...如果您运行程序,它会知道日志文件在哪里吗?您可以通过将logging.basicConfig()
和在if __name__ == '__main__':
块内创建日志文件来进行测试吗? - dot.Py